validar try tipos sirve recent que por pass para most last excepción excepciones ejemplos diferentes archivos python exception http-request python-requests

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: