Urllib.Erreur

Urllib.Erreur

Dans ce court article, nous discuterons de l'urllib.Module d'erreur qui définit les classes d'exception de l'urllib.module de demande.

Le module prend en charge les exceptions suivantes:

    1. Urlerror - Ce type d'exception est augmenté lors de la récupération d'une ressource spécifique. La fonction fournit une propriété de raison qui contient les informations détaillées sur la cause de l'erreur.
    2. Httperror - Ce type d'exception est soulevé dans la rencontre d'erreurs HTTP exotiques telles que Auth. De même, la fonction prend en charge un code, une raison et des propriétés d'en-têtes qui renvoient le code d'état HTTP, l'explication de l'erreur et les en-têtes de réponse HTTP pour la demande, respectivement.
    3. ContentToOshorterror - Cette exception est soulevée si les données retournées sont inférieures au montant attendu. La longueur des données est définie dans l'en-tête de longueur de contenu.

Exemple 1: Exception d'Urlerror

L'exemple de code suivant montre comment utiliser les erreurs soulevées dans le module Erreurs:

Importer Urllib.demande
Importer Urllib.analyse
essayer:
r = Urllib.demande.urlopen ("https: // geekbits.io ")
Imprimer (R)
sauf exception comme e:
imprimer (str (e)


Gardez à l'esprit que l'URLERROR est une sous-classe d'Oserror. Par conséquent, si nous exécutons le code précédent sans connectivité Internet, il doit renvoyer un Urlerror comme suit:

Erreur d'URL: Erreur d'URLOpen [ERRNO 11001] GetAddrinfo a échoué

Exemple 2: exception httperror

Dans l'exemple suivant, nous illustrons comment utiliser l'urllb.Module d'erreur pour gérer les exceptions httperror:

Importer Urllib.demande
Importer Urllib.analyse
essayer:
r = Urllib.demande.urlopen ("https: // httpstat.US / 403 ")
Imprimer (R)
sauf exception comme e:
print (str (e))


L'exécution du code précédent doit renvoyer une exception httperror car la demande rencontre un code d'état 403.

La sortie résultante est la suivante:

Erreur HTTP 403: interdit

Conclusion

Dans cet article, nous avons discuté de la façon d'utiliser l'urllib.Module d'erreur pour gérer les exceptions URLERROR et HTTPERROR.

Codage heureux!