Maison > Article > développement back-end > Comment gérez-vous les exceptions lors de l’utilisation du module de requêtes Python ?
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!