Maison >développement back-end >Tutoriel Python >Quelles sont les méthodes pour détecter et gérer les exceptions en Python
fait référence aux erreurs qui se produisent lors de l'analyse du code. Lorsque le code n'est pas conforme aux règles de syntaxe Python, l'interpréteur Python signalera une erreur de syntaxe SyntaxError lors de l'analyse, et en même temps, il indiquera clairement la première instruction où l'erreur a été détectée. Par exemple :
print "Hello,World!"
Nous savons que Python 3.0 ne prend plus en charge la méthode d'écriture ci-dessus, donc lors de l'exécution, l'interpréteur signalera l'erreur suivante :
SyntaxError: Missing parentheses in call to 'print'
Les erreurs de syntaxe sont principalement causées par la négligence du développeur et sont dans le vrai sense Les erreurs sont intolérables pour l’interprète. Par conséquent, le programme ne peut être exécuté que si toutes les erreurs grammaticales du programme sont corrigées.
Erreur d'exécution, c'est-à-dire que le programme est syntaxiquement correct, mais une erreur se produit au moment de l'exécution. Par exemple :
a = 1/0
Le code ci-dessus signifie "diviser 1 par 0 et l'attribuer à a. Parce que 0 n'a aucun sens en tant que diviseur, l'erreur suivante sera générée après l'exécution :
Traceback (most recent call last): File "75aa4689b22f032d3efc07fedce8baa7", line 1, in 4225fa317875f3e92281a7b1a5733569 1/0 ZeroDivisionError: division by zero
Dans les résultats de sortie ci-dessus, les deux premiers paragraphes indiquent l'emplacement de l'erreur et la dernière phrase indique le type d'erreur. En Python, ce type d'erreur d'exécution est appelé Exceptions
Il existe de nombreux types de. exceptions. Les exceptions courantes sont les suivantes :Signification | Instances | ||
Lorsque la condition après le mot-clé assert est fausse, le programme s'exécutera Stop et lancera cette exception | . | >>> assert 1>0>>> assert 1965a3f094bb424994110512ac1250780>> s.len |
AttributeError : l'objet 'str' n'a pas d'attribut 'len' IndexError |
> >> s="bonjour" | >>> s[5] |
IndexError : index de chaîne hors de portée KeyError |
|
>>> demo_dict={"age": 20} | >>> Cette exception est levée lors de la tentative d'accès à une variable non déclarée |
>>> helloNameError : le nom 'hello' n'est pas défini
|
|
Opération non valide entre différents types de données | >>> 1+"2"TypeError : type(s) d'opérande non pris en charge pour + : 'int' et 'str'
|
||
Le diviseur dans l'opération de division est 0. Cette exception est relevé | >>> a = 1/0ZeroDivisionError : division par zéro | ||
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!