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

Susan Sarandon
Libérer: 2024-11-18 04:34:01
original
415 Les gens l'ont consulté

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

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

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

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal