Quelles sont les méthodes pour détecter et gérer les exceptions en Python
WBOY
Libérer: 2023-05-22 23:37:17
avant
1920 Les gens l'ont consulté
1 | Erreur de syntaxe
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!"
Copier après la connexion
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'
Copier après la connexion
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.
2 | Erreur d'exécution
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
Copier après la connexion
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 "<pyshell#0>", line 1, in <module> 1/0 ZeroDivisionError: division by zero
Copier après la connexion
3 |Autres exceptions
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 :
Type d'exception
Signification
Instances
AssertionError
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 1<0AssertionError
AttributeError
lorsque l'attribut d'objet auquel on a tenté d'accéder n'existe pas s="bonjour"
>>> s.len
AttributeError : l'objet 'str' n'a pas d'attribut 'len'
IndexError
L'index est hors de portée, cette exception sera levée
> >> s="bonjour"
>>> s[5]
IndexError : index de chaîne hors de portée
KeyError
Cette exception est levée lors de la recherche d'un mot-clé inexistant dans le dictionnaire
>>> 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
TypeError
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'
ZeroDivisionError
Le diviseur dans l'opération de division est 0. Cette exception est relevé
try:
a = int(input("输入被除数:"))
b = int(input("输入除数:"))
c = a / b
print("您输入的两个数相除的结果是:", c )
except (ValueError, ArithmeticError):
print("程序发生了数字格式异常、算术异常之一")
except :
print("未知异常")
print("程序继续运行")
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn