Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

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 :

  1. Erreurs de syntaxe
  2. 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

  1. Mots clés et identifiants Python
  2. Instruction Python, indentation et commentaires
  3. Variables, constantes et littéraux Python
  4. Conversion de type Python et conversion de type
  5. Entrée, sortie et importation Python
  6. Variables Python globales, locales et non locales
  7. Nombres Python, conversion de type et mathématiques
  8. Répertoire Python et gestion des fichiers
  9. Exceptions personnalisées Python