Quelles erreurs/exceptions ai-je besoin pour gérer avec urllib2.Demande / urlopen?

J'ai le code suivant pour faire une publication à une URL distante:

request = urllib2.Request('http://www.example.com', postBackData, { 'User-Agent' : 'My User Agent' })

try: 
    response = urllib2.urlopen(request)
except urllib2.HTTPError, e:
    checksLogger.error('HTTPError = ' + str(e.code))
except urllib2.URLError, e:
    checksLogger.error('URLError = ' + str(e.reason))
except httplib.HTTPException, e:
    checksLogger.error('HTTPException')

La postBackData est créé à l'aide d'un dictionnaire codé à l'aide de urllib.urlencode. checksLogger est un enregistreur à l'aide de la journalisation.

J'ai eu un problème de ce code s'exécute lorsque le serveur distant est en baisse et le code de sorties (ce qui est au client de serveurs, donc je ne sais pas ce que la sortie de vidage de pile /erreur est à ce moment). Je suppose que c'est parce qu'il est une exception et/ou de l'erreur, qui n'est pas traitée. Alors y at-il d'autres exceptions qui pourraient être déclenchés que je ne suis pas de la manipulation ci-dessus?

InformationsquelleAutor DavidM | 2009-03-20