Erreurs Python et exceptions intégrées
Erreurs Python et exceptions intégrées
Dans ce didacticiel, vous découvrirez différents types d'erreurs et d'exceptions intégrées à Python. Ils sont déclenchés chaque fois que l'interpréteur Python rencontre des erreurs.
Vidéo :Gestion des exceptions Python
Nous pouvons faire certaines erreurs lors de l'écriture d'un programme qui conduisent à des erreurs lorsque nous essayons de l'exécuter. Un programme python se termine dès qu'il rencontre une erreur non gérée. Ces erreurs peuvent être classées en deux grandes catégories :
- Erreurs de syntaxe
- Erreurs logiques (Exceptions)
Erreurs de syntaxe Python
L'erreur causée par le non-respect de la structure (syntaxe) appropriée du langage est appelée erreur de syntaxe ou erreur d'analyse .
Prenons un exemple :
>>> if a < 3
File "<interactive input>", line 1
if a < 3
^
SyntaxError: invalid syntax
Comme indiqué dans l'exemple, une flèche indique où l'analyseur a rencontré l'erreur de syntaxe.
On peut remarquer ici qu'un deux-points :
manque dans le if
déclaration.
Erreurs logiques Python (exceptions)
Les erreurs qui se produisent lors de l'exécution (après avoir réussi le test de syntaxe) sont appelées exceptions ou erreurs logiques .
Par exemple, ils se produisent lorsque nous essayons d'ouvrir un fichier (en lecture) qui n'existe pas (FileNotFoundError
), essayez de diviser un nombre par zéro (ZeroDivisionError
), ou essayez d'importer un module qui n'existe pas (ImportError
).
Chaque fois que ces types d'erreurs d'exécution se produisent, Python crée un objet d'exception. S'il n'est pas géré correctement, il imprime une trace de cette erreur ainsi que des détails sur la raison pour laquelle cette erreur s'est produite.
Voyons comment Python traite ces erreurs :
>>> 1 / 0
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
ZeroDivisionError: division by zero
>>> open("imaginary.txt")
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
Exceptions intégrées Python
Les opérations illégales peuvent déclencher des exceptions. Il existe de nombreuses exceptions intégrées dans Python qui sont déclenchées lorsque des erreurs correspondantes se produisent. Nous pouvons afficher toutes les exceptions intégrées à l'aide du local()
intégré fonctionnent comme suit :
print(dir(locals()['__builtins__']))
locals()['__builtins__']
renverra un module d'exceptions, de fonctions et d'attributs intégrés. dir
nous permet de lister ces attributs sous forme de chaînes.
Certaines des exceptions intégrées courantes dans la programmation Python ainsi que l'erreur qui les provoque sont répertoriées ci-dessous :
Exception | Cause de l'erreur |
---|---|
AssertionError | Soulevé lorsqu'un assert l'instruction échoue. |
AttributeError | Soulevé lorsque l'attribution ou la référence d'attribut échoue. |
EOFError | Soulevé lorsque le input() la fonction atteint la condition de fin de fichier. |
FloatingPointError | Soulevé lorsqu'une opération en virgule flottante échoue. |
GeneratorExit | Augmenter quand close() d'un générateur méthode est appelée. |
ImportError | Soulevé lorsque le module importé est introuvable. |
IndexError | Soulevé lorsque l'index d'une séquence est hors limites. |
KeyError | Soulevé lorsqu'une clé n'est pas trouvée dans un dictionnaire. |
KeyboardInterrupt | Levé lorsque l'utilisateur appuie sur la touche d'interruption (Ctrl+C ou Delete ). |
MemoryError | Soulevé lorsqu'une opération manque de mémoire. |
NameError | Soulevé lorsqu'une variable est introuvable dans la portée locale ou globale. |
NotImplementedError | Élevé par des méthodes abstraites. |
OSError | Soulevé lorsque le fonctionnement du système provoque une erreur liée au système. |
OverflowError | Soulevé lorsque le résultat d'une opération arithmétique est trop grand pour être représenté. |
ReferenceError | Soulevé lorsqu'un proxy de référence faible est utilisé pour accéder à un référent récupéré. |
RuntimeError | Soulevé lorsqu'une erreur n'appartient à aucune autre catégorie. |
StopIteration | Élevé par next() fonction pour indiquer qu'il n'y a plus d'élément à renvoyer par l'itérateur. |
SyntaxError | Élevé par l'analyseur lorsqu'une erreur de syntaxe est rencontrée. |
IndentationError | Soulevé lorsqu'il y a une indentation incorrecte. |
TabError | Soulevé lorsque l'indentation se compose de tabulations et d'espaces incohérents. |
SystemError | Soulevé lorsque l'interpréteur détecte une erreur interne. |
SystemExit | Élevé par sys.exit() fonction. |
TypeError | Soulevé lorsqu'une fonction ou une opération est appliquée à un objet de type incorrect. |
UnboundLocalError | Soulevé lorsqu'une référence est faite à une variable locale dans une fonction ou une méthode, mais qu'aucune valeur n'a été liée à cette variable. |
UnicodeError | Généré lorsqu'une erreur d'encodage ou de décodage liée à Unicode se produit. |
UnicodeEncodeError | Généré lorsqu'une erreur liée à Unicode se produit lors de l'encodage. |
UnicodeDecodeError | Soulevé lorsqu'une erreur liée à Unicode se produit pendant le décodage. |
UnicodeTranslateError | Soulevé lorsqu'une erreur liée à Unicode se produit lors de la traduction. |
ValueError | Soulevé lorsqu'une fonction obtient un argument de type correct mais de valeur incorrecte. |
ZeroDivisionError | Soulevé lorsque le deuxième opérande de la division ou de l'opération modulo est égal à zéro. |
Si nécessaire, nous pouvons également définir nos propres exceptions en Python. Pour en savoir plus à leur sujet, consultez Python User-defined Exceptions.
Nous pouvons gérer ces exceptions intégrées et définies par l'utilisateur dans Python en utilisant try
, except
et finally
déclarations. Pour en savoir plus à leur sujet, visitez les instructions Python try, except et finally.
Python
- Mots clés et identifiants Python
- Instruction Python, indentation et commentaires
- Variables, constantes et littéraux Python
- Conversion de type Python et conversion de type
- Entrée, sortie et importation Python
- Variables Python globales, locales et non locales
- Nombres Python, conversion de type et mathématiques
- Répertoire Python et gestion des fichiers
- Exceptions personnalisées Python