Maison  >  Article  >  développement back-end  >  Comment gérez-vous les exceptions lors de l’utilisation du module de requêtes Python ?

Comment gérez-vous les exceptions lors de l’utilisation du module de requêtes Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-18 04:34:01414parcourir

How Do You Handle Exceptions When Using the Python Requests Module?

Gestion des exceptions avec le module de requêtes Python

La bibliothèque Python Requests fournit un moyen complet d'effectuer des requêtes HTTP. Parfois, des erreurs peuvent survenir lors du traitement des demandes, ce qui rend essentiel leur gestion efficace. Cet article explore l'approche correcte pour utiliser try/sauf lorsque vous travaillez avec des requêtes.

Erreurs liées à la connexion

L'exemple fourni, qui gère les erreurs de connexion à l'aide de requêtes.ConnectionError , est partiellement correct. Bien qu'il capture les problèmes liés au réseau, il ignore d'autres erreurs potentielles, telles que les délais d'attente et les erreurs de réponse HTTP.

Exception de classe de base

Pour gérer toutes les exceptions déclenchées par les requêtes , interceptez l'exception de classe de base, request.exceptions.RequestException dans votre bloc try/sauf. Toutes les exceptions explicitement déclenchées par les requêtes héritent de cette classe.

Exemple :

try:
    r = requests.get(url, params={'s': thing})
except requests.exceptions.RequestException as e:
    # Handle the error appropriately (e.g., retry, log, or raise SystemExit)

Gestion de différentes exceptions

Si vous devez gérer des exceptions spécifiques séparément, telles que les délais d'attente ou les erreurs de réponse HTTP, vous pouvez utiliser des exceptions distinctes blocs :

try:
    r = requests.get(url, params={'s': thing})
except requests.exceptions.Timeout:
    # Handling timeout
except requests.exceptions.TooManyRedirects:
    # Handling too many redirects
except requests.exceptions.RequestException as e:
    # Handling all other exceptions

Gestion des erreurs de réponse HTTP

Par défaut, les requêtes ne déclenchent pas d'exceptions pour les réponses HTTP infructueuses (par exemple, 404 non trouvé). Pour déclencher une exception pour ces erreurs, appelez Response.raise_for_status().

Exemple :

try:
    r = requests.get('http://www.google.com/nothere')
    r.raise_for_status()
except requests.exceptions.HTTPError as err:
    # Handle the HTTP response error

En suivant ces directives, vous pouvez garantir une gestion robuste des exceptions pour vos opérations de requêtes Python, couvrant un large éventail d'erreurs pouvant survenir 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