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
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