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
Libérer: 2024-11-12 11:54:02
original
466 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal