exception Python

Les exceptions peuvent être levées par l’interpréteur Python et manuellement. Les exceptions intégrées aident à détecter les erreurs courantes dans un programme.

Dans ce guide, nous allons expliquer ce qu’est une exception et comment elles sont utilisées. Nous allons vous montrer comment lever une exception afin que vous puissiez les utiliser dans votre code.

Qu’est-ce qu’une exception ?

Une exception, également appelée erreur logique , est une erreur qui se produit pendant l’exécution du programme.

Il existe deux types d’erreurs en Python : erreurs de syntaxe et erreurs d’exécution. Des erreurs de syntaxe sont déclenchées avant l’exécution d’un programme. Si votre programme rencontre une erreur de syntaxe, votre programme ne pourra pas s’exécuter. En effet, Python ne peut pas interpréter le code contenant des erreurs de syntaxe.

Des erreurs d’exécution, également appelées exceptions, se produisent lorsque Python exécute un programme. Une exception peut être levée à la ligne 30 d’un programme. Si une exception est levée à la ligne 30, 30 lignes de code s’exécuteront, puis le programme s’arrêtera.

Voici un exemple d’exception :

Cette exception nous indique que Python ne peut pas exécuter le reste de notre code. Si vous rencontrez une exception, vous devez lire attentivement le message. Le message d’erreur vous dira la plupart, sinon la totalité, de ce que vous devez savoir pour résoudre une erreur.

Décomposons la dernière phrase de notre message d’erreur :
< /p>

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

AttributeError : ‚Äòstr‚Äô l’objet n’a pas d’attribut ‚Äòappend‚Äô

Dans ce cas, nous savons que notre erreur est une AttributeError. Cela signifie que nous essayons de référencer un attribut qui n’existe pas. Notre message d’erreur nous indique que nous essayons d’utiliser append() sur un objet chaaîne, ce qui n’est pas autorisé.

Parce que les objets chaaîne ne prennent pas en charge append() méthode, une bonne étape suivante consiste à rechercher l’équivalent de append() pour les chaaînes. C’est la concaténation. Nous avons maintenant une solution potentielle à notre problème de programmation que nous pouvons appliquer.

O√π puis-je rencontrer une exception ?

Pour aider les programmeurs à détecter les erreurs dans leur code, Python dispose d’une gamme d’exceptions intégrées. Ces exceptions peuvent vous aider à identifier la cause d’un problème dans votre code afin que vous puissiez le résoudre. Vous trouverez ci-dessous quelques-unes des exceptions les plus courantes que vous êtes susceptible de rencontrer :

  • TypeError : se produit lorsque vous appliquez un fonction à un objet dont le type ne prend pas en charge cette fonction (par exemple TypeError : ne peut joindre qu’un itérable)
  • SyntaxError : déclenché avant qu’un programme ne s’exécute pour vous indiquer qu’il y a un problème dans votre syntaxe (par exemple, SyntaxError : syntaxe invalide)
  • KeyError : se produit si vous référencez une clé dans un dictionnaire qui le fait n’existe pas. (par exemple, KeyError : "usb_ports‚")
  • Importer Erreur : se produit si vous essayez d’importer un package qui n’existe pas ou une fonction d’un package qui n’existe pas.

Nous n’avons répertorié que quelques-unes des nombreuses exceptions que vous peut rencontrer dans le langage Python.

Comment lever une exception

Vous pouvez définir vos propres exceptions personnalisées dans votre code. Cela peut être utile si les exceptions intégrées fournies par Python ne correspondent pas aux besoins de votre programme.

Nous allons écrire un programme qui valide un mot de passe pour un jeu. Pour commencer, demandons à l’utilisateur d’insérer un mot de passe :

Pour que le mot de passe de l’utilisateur soit valide, il doit comporter plus de 12 caractères. Si le mot de passe de l’utilisateur est de 12 caractères ou moins, nous souhaitons lever une exception.

Pour ce faire, nous allons utiliser un instruction if. L’instruction if suivante vérifiera si le mot de passe qu’un utilisateur a choisi est inférieur à 12 caractères :

Nous utilisons le méthode len() pour calculer la longueur du mot de passe d’un utilisateur. Si un utilisateur insère un mot de passe invalide, notre programme lèvera une exception avec un message indiquant "Votre mot de passe n’est pas de la bonne longueur.‚"

Essayons notre code pour voir s’il fonctionne :

Le mot de passe que nous avons saisi faisait moins de 12 caractères. Notre code s’arrête car nous avons saisi un mot de passe invalide. Essayons de lancer notre programme avec un mot de passe valide :

Notre programme s’exécute avec succès.

Comment gérer une exception

Par défaut, les exceptions arrêteront l’exécution d’un programme. Bien que cela soit utile car cela vous oblige à trouver la solution t o une erreur, il y a des cas o√π vous pouvez ne pas vouloir que votre programme s’arrête si une exception est levée.

Par exemple, si vous vérifiez si les points de données dans une liste sont valides, vous ne voudrez peut-être pas qu’une exception soit levée chaque fois qu’un point de données non valide est découvert.

Pour gérer une exception, vous pouvez utiliser un "try‚Ķexcept‚" bloquer. √âcrivons un programme qui trouve un élément dans un dictionnaire. Ce dictionnaire contient une liste de noms d’étudiants dans une classe et leurs notes correspondantes sur leur test le plus récent.

Pour commencer, définissons un dictionnaire avec des informations sur les étudiants et les notes :

Ensuite, demandons à un utilisateur d’insérer un nom dont il souhaite récupérer la note. Nous allons le faire dans un "essayer" bloc afin que nous puissions gérer une exception plus tard dans notre code :

"Career Karma est entré dans ma vie au moment o√π j’en avais le plus besoin et m’a rapidement aidé à suivre un bootcamp. Deux mois après avoir obtenu mon diplôme, j’ai trouvé mon travail de rêve qui correspond à mes valeurs et à mes objectifs dans la vie !"

Venus, ingénieur logiciel chez Rockbot

Ce code s’imprime la note de l’étudiant dont le nom correspond à celui qu’un utilisateur a inséré dans le programme. Cependant, si un utilisateur insère un nom non valide, une KeyError sera rencontrée.

Nous allons gérer cela en ajoutant un bloc except à notre code :

Si un étudiant est introuvable, la clause except est exécutée. Exécutons notre programme :

Lorsque nous entrons un nom d’élève valide , notre programme fonctionne. Essayons notre programme si nous insérons un nom d’élève non valide :

Une exception est levée mais notre programme ne s’arrête pas. Au lieu de cela, le contenu du "except" bloc sont exécutés.

Pour en savoir plus sur le bloc try…except, lisez notre guide sur Python try…except .

Conclusion

Les exceptions vous informent qu’il y a une erreur logique dans votre code. Lorsqu’une exception est déclenchée, vous devriez voir le type de l’exception, l’endroit o√π l’exception a été déclenchée, ainsi qu’un message d’erreur. Vous pouvez utiliser ces informations pour trouver la cause de l’exception.

Vous pouvez lever vos propres exceptions à l’aide de l’instruction raise. Vous pouvez gérer les exceptions à l’aide du bloc de code try‚Ķexcept.

Vous disposez désormais des outils dont vous avez besoin pour résoudre une exception Python comme un pro !