web-dev-qa-db-fra.com

Python requêtes - Type d'exception: ConnectionError - essayez: sauf ne fonctionne pas

J'utilise un webservice pour récupérer des données mais parfois l'url ne fonctionne pas et mon site ne se charge pas. Savez-vous comment je peux gérer l'exception suivante afin qu'il n'y ait pas de problème avec le site au cas où le webservice ne fonctionne pas?

Django Version: 1.3.1 
Exception Type: ConnectionError
Exception Value: 
HTTPConnectionPool(Host='test.com', port=8580): Max retries exceeded with url:

J'ai utilisé

try:
   r = requests.get("http://test.com", timeout=0.001)
except requests.exceptions.RequestException as e:    # This is the correct syntax
   print e
   sys.exit(1)

mais rien ne se passe

23
user1431148

Vous ne devez pas quitter votre instance de travail sys.exit(1) De plus, vous attrapez la mauvaise erreur.

Par exemple, vous pourriez faire:

from requests.exceptions import ConnectionError
try:
   r = requests.get("http://example.com", timeout=0.001)
except ConnectionError as e:    # This is the correct syntax
   print e
   r = "No response"

Dans ce cas, votre programme continuera, définissant la valeur de r qui enregistre généralement la réponse à toute valeur par défaut

48
ProfHase85