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 ?

Comment gérer les erreurs avec élégance lors de l'utilisation du module de requêtes de Python ?

DDD
DDDoriginal
2024-11-12 11:54:02439parcourir

How to Handle Errors Gracefully When Using Python's Requests Module?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn