Maison >développement back-end >Tutoriel Python >Comment gérer les erreurs avec élégance lors de l'utilisation du module de requêtes de Python ?
Détecter les erreurs avec le module de requêtes de Python
Lorsque vous utilisez le module de requêtes pour effectuer des requêtes HTTP, il est essentiel de gérer les erreurs avec élégance. La structure try/sauf vous permet de capturer les erreurs et de répondre de manière appropriée.
Utilisation correcte de try/sauf
L'exemple fourni utilisant try/sauf pour intercepter les requêtes.ConnectionError est correct mais limité. Bien qu'il capture les problèmes liés au réseau, il ne couvre pas d'autres types d'erreurs comme les délais d'attente ou un trop grand nombre de redirections.
Couvrir toutes les exceptions
Pour intercepter toutes les demandes : erreurs liées, vous pouvez utiliser l'exception de classe de base request.exceptions.RequestException :
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.RequestException as e: # Handle the error accordingly
Gestion des erreurs spécifiques
Vous pouvez également détecter des types d'erreurs spécifiques séparément :
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.Timeout: # Retry or continue in a retry loop except requests.exceptions.TooManyRedirects: # Prompt the user to correct the URL except requests.exceptions.RequestException as e: # Handle catastrophic errors
Détection des erreurs HTTP
Si vous souhaitez déclencher des exceptions pour les codes d'erreur HTTP (par exemple, 401 non autorisé), appelez Response.raise_for_status() après avoir créé une requête :
try: r = requests.get('http://www.google.com/nothere') r.raise_for_status() except requests.exceptions.HTTPError as err: # Handle the HTTP error
En mettant en œuvre une gestion appropriée des erreurs, vous vous assurez que vos scripts/programmes peuvent répondre efficacement aux différentes erreurs rencontrées lors des requêtes HTTP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!