Tengo el siguiente código para hacer una devolución de datos a una URL remota:¿Qué errores/excepciones debo manejar con urllib2.Request/urlopen?
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')
El postBackData se crea utilizando un diccionario codificado utilizando urllib.urlencode. checksLogger es un registrador que usa logging.
Tuve un problema donde este código se ejecuta cuando el servidor remoto está inactivo y el código sale (esto está en los servidores del cliente, así que no sé cuál es el volcado/error de la pila de salida en este momento). Estoy asumiendo que esto se debe a que hay una excepción y/o error que no se está manejando. Entonces, ¿hay alguna otra excepción que pueda desencadenarse que no estoy manejando arriba?
es 'checksLogger.error' una función definida por el usuario en su ejemplo? – codingknob
@ algotr8der: sí, es solo copiar y pegar de la sesión de la pregunta – vartec
bien genial. Gracias. – codingknob