Python demandes de gestion des exceptions
Comment gérer les exceptions avec python demandes à la bibliothèque?
Par exemple comment vérifier PC est connecté à internet?
Quand j'essaie
try:
requests.get('http://www.google.com')
except ConnectionError:
# handle the exception
il me donne l'erreur nom ConnectionError
n'est pas défini
- Veuillez inclure le traceback de l'exception que vous essayez de gérer.
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez
import requests
, vous voulezrequests.ConnectionError
.ConnectionError
est une exception définie parrequests
. Voir la La documentation de l'API ici.Ainsi, le code devrait être :
except requests.ConnectionError:
, PASimport requests.ConnectionError
pour plus de clarté, c'est-à
PAS
Vous pouvez également attraper une exception générale (bien que ce ne soit pas recommandé) avec
En fait, il ya beaucoup plus d'exceptions que
requests.get()
peut générer que de simplementConnectionError
. Voici quelques-unes que j'ai vu dans la production:Compte les demandes module à l'aide de
import requests
.Il est toujours bon de mettre en œuvre la gestion des exceptions. Il n'est pas seulement aider à éviter les mauvaises surprises à la sortie de script, mais il peut aussi aider à enregistrer les erreurs et les info de notification. Lors de l'utilisation de Python demandes je préfère pour intercepter des exceptions comme ceci:
Que par la la documentation, j'ai ajouté les points ci-dessous:-
Dans le cas d'un problème de réseau (connexion refusée e.g internet de l'émission), les Demandes de soulever un ConnectionError exception.
Dans le cas des rares invalides de la réponse HTTP, Demandes de soulever une HTTPError exception.
Réponse.raise_for_status() déclenchera une HTTPError si la requête HTTP retourné un échec, code d'état.
Dans le cas de fois sur demande, un Délai d'attente exception est levée.
Vous pouvez dire les Demandes de cesser d'attendre une réponse après un nombre donné de secondes, avec un délai d'attente arg.
Toutes les exceptions qui Demande explicitement soulève hériter de la demande.des exceptions.RequestException. Ainsi, une base gestionnaire peut ressembler,