Maison  >  Article  >  développement back-end  >  Quelle est la méthode de détection et de gestion des exceptions en Python ?

Quelle est la méthode de détection et de gestion des exceptions en Python ?

WBOY
WBOYavant
2023-05-10 20:19:051721parcourir

Les exceptions Python sont des erreurs qui se produisent lors de l'exécution du programme et peuvent entraîner l'arrêt du programme.

En Python, la gestion des exceptions est un mécanisme qui permet aux développeurs d'intercepter, de gérer et de signaler des exceptions lorsque des exceptions se produisent dans un programme afin que le programme puisse continuer à s'exécuter ou se terminer correctement lorsqu'une exception se produit.

En Python, les exceptions peuvent être des exceptions standard (telles que SyntaxError et TypeError) ou des exceptions personnalisées. Les exceptions standard sont définies en interne par Python, tandis que les exceptions personnalisées sont définies par les développeurs, généralement pour une application ou une bibliothèque spécifique.

Voici quelques exceptions Python courantes :

  • SyntaxError : erreur de syntaxe, généralement due à une erreur de syntaxe Causé par des parenthèses manquantes, des deux-points, etc.

  • TypeError : erreur de type, généralement causée par la combinaison d'objets de différents types, comme l'ajout de chaînes et de nombres.

  • ValueError : Erreur de valeur, généralement causée par la valeur fournie non conforme à la plage ou au format attendu, par exemple lors de la conversion d'une chaîne en un entier invalide.

  • IndexError : Erreur d'index, généralement provoquée par la tentative d'accès à un élément qui n'existe pas dans une liste ou un tuple.

  • KeyError : Erreur de clé, généralement provoquée par la tentative d'accès à une clé qui n'existe pas dans le dictionnaire.

  • IOError : Erreur d'entrée/sortie, généralement causée par un problème lors de la tentative de lecture ou d'écriture d'un fichier.

  • AttributeError : Erreur d'attribut, généralement provoquée par la tentative d'accès à une propriété ou à une méthode qui n'existe pas sur un objet.

En Python, vous pouvez utiliser l'instruction try-sauf pour intercepter les exceptions et les gérer. L'instruction try contient du code pouvant provoquer une exception, tandis que l'instruction except définit le code à exécuter lorsqu'une exception est interceptée.

Vous pouvez utiliser plusieurs instructions except pour capturer différents types d'exceptions. try-sauf peut également être associé à else. Cela signifie que lorsque l'instruction try ne détecte aucune exception, else sera exécutée. Le contenu de l'instruction De plus, vous pouvez également utiliser l'instruction enfin pour définir le code qui sera toujours exécuté après le bloc d'instruction try.

Par exemple :

Cas 1 : utilisez l'instruction try-sauf pour intercepter les exceptions et les gérer# 🎜 🎜#

Exemple :

try:

100/0 # Code pouvant provoquer une exception

except ZeroDivisionError: #(捕获特定的异常类型ZeroDivisionError,ZeroDivisionError是Python中的内置异常类之一,用于表示在除数为零的情况下进行了除法操作所引发的异常。)

    print('因为这里打印出异常类型:除数不能为0。')# 处理值错误的代码
# 🎜🎜#

Quelle est la méthode de détection et de gestion des exceptions en Python ?

Cas 2 : Utilisez l'instruction try-sauf avec l'instruction else (lorsque l'instruction try ne détecte aucune exception, le contenu de l'instruction else sera exécuté) #🎜🎜 #

Lorsque l'instruction try détecte une exception, le contenu de l'instruction else ne sera pas exécuté

>>> try:
...     1 / 0
... except:
...     print("逮到了~")
... else:
...     print("没逮到~")
...

Caught~

If dans l'essai instruction Si une exception est détectée dans , alors le contenu de gestion des exceptions de l'instruction except est exécuté :

>>> try:
...     1 / 1
... except:
...     print("逮到了~")
... else:
...     print("没逮到~")
...
1.0

Not Catch~

Case 3 : Utilisez try- instruction except avec enfin instruction (instruction finale qui doit être exécutée indépendamment du fait qu'une exception se produise ou non) 🎜🎜#&lsquo ;abc’+ 123

except TypeError: #TypeError为类型错误,通常是由于将不同类型的对象组合在一起而引起的,如将字符串和数字相加。
    print('因为这里打印出异常类型:类型错误。')# 处理类型错误的代码
finally:
    print('不论是否无法异常,都执行这句话') # 无论是否发生异常都会执行的代码

La gestion des exceptions est l'un des concepts importants en Python et les développeurs doivent savoir comment intercepter et gérer correctement les exceptions pour garantir la stabilité et la fiabilité du programme.

Avancé : méthodes pour détecter les exceptions

Deux méthodes pour détecter les exceptions : quel que soit le type d'exception, capturez les informations sur l'exception.

Quelle est la méthode de détection et de gestion des exceptions en Python ?1. Utiliser Exception : Toutes les exceptions sont des sous-classes d'Exception. Ainsi, Exception peut correspondre à tous les types d’exceptions.

Exemple :

>>> try:
    100/0
except Exception  as e:
    print('未知异常:', e)
# 对于很多刚学Python或者是学着学着迷茫了的小伙伴,我给大家准备了一套Python的学习资料。
# 包括数百本电子书、Python基础视频教程、项目实战,疑难解答,直接在文末名片自取。
   
未知异常: division by zero
>>>

La cause de l'exception peut être capturée normalement, mais les informations détaillées sur l'exception (l'emplacement où l'exception est envoyée et le code de l'exception) ne peuvent pas être sortir. 2. Utilisez le module traceback : utilisez la fonction format_exc dans le module traceback pour afficher les informations sur l'exception et les informations sur la pile d'appels de fonction là où l'exception se produit.

Exemple :

>>>  import traceback
>>>  try:
    100/0
except  :
    print(traceback.format_exc())
 
 
Traceback (most recent call  last):
  File "<pyshell#5>", line 2, in <module>
ZeroDivisionError: division by  zero
>>>

Le code ci-dessus imprimera les informations détaillées sur la pile d'appels de fonction qui ont provoqué l'exception

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer