try - traceback(most recent call last) python
Python solicita manejo de excepciones (4)
¿Cómo manejar las excepciones con las solicitudes de la biblioteca de Python? Por ejemplo, ¿cómo verificar si la PC está conectada a internet?
Cuando intento
try:
requests.get(''http://www.google.com'')
except ConnectionError:
# handle the exception
me da el nombre de error ConnectionError
no está definido
En realidad, hay muchas más excepciones que requests.get()
puede generar que solo ConnectionError
. Aquí hay algunos que he visto en producción:
from requests import ReadTimeout, ConnectTimeout, HTTPError, Timeout, ConnectionError
try:
r = requests.get(url, timeout=6.0)
except (ConnectTimeout, HTTPError, ReadTimeout, Timeout, ConnectionError):
continue
Incluir el módulo de solicitudes utilizando las import requests
.
Siempre es bueno implementar el manejo de excepciones. No solo ayuda a evitar la salida inesperada de secuencias de comandos, sino que también ayuda a registrar errores y notificaciones de información. Cuando utilizo solicitudes de Python, prefiero capturar excepciones como esta:
try:
res = requests.get(adress,timeout=30)
except requests.ConnectionError as e:
print("OOPS!! Connection Error. Make sure you are connected to Internet. Technical Details given below./n")
print(str(e))
continue
except requests.Timeout as e:
print("OOPS!! Timeout Error")
print(str(e))
continue
except requests.RequestException as e:
print("OOPS!! General Error")
print(str(e))
continue
except KeyboardInterrupt:
print("Someone closed the program")
Suponiendo que importó import requests
, desea requests.ConnectionError
. requests.ConnectionError
. ConnectionError
es una excepción definida por las requests
. Vea la documentación de la API aquí.
Por lo tanto el código debe ser:
try:
requests.get(''http://www.google.com'')
except requests.ConnectionError:
# handle the exception
por claridad, eso es
except requests.ConnectionError:
NO
import requests.ConnectionError
También puede detectar una excepción general (aunque no se recomienda) con
except Exception: