Gérer les exceptions avec le module de requêtes de Python
La détection des exceptions lors des requêtes HTTP est cruciale pour une gestion robuste des erreurs. Bien que l'extrait de code fourni puisse gérer certaines erreurs liées à la connexion, il ignore d'autres problèmes potentiels.
Selon la documentation des requêtes, différents types d'exceptions sont générés pour :
Toutes ces exceptions hériter de requests.exceptions.RequestException.
Pour couvrir toutes les bases, vous pouvez :
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.RequestException as e: # Handle all cases raise SystemExit(e)
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.Timeout: # Implement a retry strategy except requests.exceptions.TooManyRedirects: # Notify user of incorrect URL except requests.exceptions.RequestException as e: # Catastrophic error, terminate raise SystemExit(e)
Gestion des erreurs HTTP :
Si vous devez déclencher des exceptions pour les codes d'état HTTP (par exemple, 401 non autorisé), appelez Response.raise_for_status après avoir effectué le request.
try: r = requests.get('http://www.google.com/nothere') r.raise_for_status() except requests.exceptions.HTTPError as err: raise SystemExit(err)
En considérant tous les types d'exceptions possibles et en adaptant votre stratégie de gestion des erreurs, vous pouvez vous assurer que votre application gère correctement les problèmes de réseau et fournit des réponses appropriées aux utilisateurs.
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!