Maison > développement back-end > Tutoriel Python > Qu'est-ce que la gestion des exceptions en Python ?

Qu'est-ce que la gestion des exceptions en Python ?

王林
Libérer: 2023-06-03 18:40:33
original
2622 Les gens l'ont consulté

La gestion des exceptions en Python signifie que lors de l'exécution d'un programme, si une erreur se produit (comme une division par zéro, le fichier n'existe pas, etc.) provoquant la fin du programme ou une exception se produit, le programme passera automatiquement à l'exception. gérer le bloc de code pour le traitement correspondant afin que le programme ne se termine pas directement.

La gestion des exceptions est très importante. Elle peut aider les programmeurs à générer des informations sur les erreurs, et elle peut nous aider à trouver l'emplacement de l'erreur, à réduire le taux d'erreur du programme et à améliorer la stabilité et la maintenabilité du programme.

La gestion des exceptions en Python comprend principalement les mots-clés suivants : try, except, finalement et raise. Leur utilisation et leurs fonctions sont présentées ci-dessous :

1.try-sauf

L'instruction try-sauf peut intercepter les exceptions et les gérer pour empêcher le programme d'être interrompu en raison d'exceptions. La syntaxe est la suivante :

try:
    #代码块
except [异常类型]:
    #异常处理代码块
Copier après la connexion

Le bloc de code sous l'instruction try est le bloc de code à exécuter si une exception se produit, il passera au bloc except pour la gestion des exceptions. Si aucune exception ne se produit, le code du bloc except est ignoré.

Lorsque except est suivi d'un type d'exception spécifique, le code dans le bloc except sera exécuté uniquement lorsque l'exception de ce type est interceptée ; lorsque except n'est suivi d'aucun type d'exception, toutes les exceptions seront interceptées.

Un exemple est donné ci-dessous :

try:
    a = 5 / 0  # 这里会抛出一个ZeroDivisionError异常
except ZeroDivisionError:
    print("除数不能为零")
Copier après la connexion

Explication : Le programme ci-dessus lancera une exception ZeroDivisionError lors de l'exécution de 5/0, mais en raison de l'utilisation de l'instruction try-sauf, le programme ne plantera pas, mais affichera la phrase " Le diviseur ne peut pas être nul".

2.finally

finally est un bloc de code facultatif Qu'il y ait ou non une exception dans le bloc try, le code du bloc enfin sera exécuté. Par exemple :

try:
    # 代码块
except:
    # 异常处理代码块
finally:
    # finally块
Copier après la connexion

Dans le programme ci-dessus, si une exception se produit dans le bloc try, le bloc except sera exécuté pour la gestion des exceptions, si aucune exception ne se produit, le code du bloc enfin sera également exécuté. Si des instructions telles que return, break ou continue apparaissent dans le bloc final, la valeur de final sera renvoyée.

Un exemple est donné ci-dessous :

try:
    f = open('filename.txt', 'r')
    lines = f.readlines()
    result = ""
    for line in lines:
        result += line
except IOError:
    print("文件读取出错")
finally:
    print("关闭文件")
    f.close()
Copier après la connexion

Explication : Le programme ci-dessus utilise try-sauf pour lire le fichier. Si une erreur de lecture se produit, le code dans le bloc except sera exécuté. Qu'une exception se produise ou non, le code est exécuté. dans le bloc final sera exécuté pour garantir que le fichier est correctement fermé.

3.raise

L'instruction raise est utilisée pour lancer des exceptions manuellement. Par exemple :

x = 10
if x > 5:
    raise Exception('x不能大于5。x的值为:{}'.format(x))
Copier après la connexion

Dans le programme ci-dessus, lorsque la valeur de x est supérieure à 5, le programme lancera manuellement une exception de type Exception. Après avoir lancé l'exception, le programme passera au bloc except pour la gestion des exceptions.

4.try-sauf-else

Le code dans le bloc else de l'instruction try-sauf-else ne sera exécuté que lorsqu'aucune exception n'est levée dans le bloc try. Par exemple :

try:
    x = int(input("请输入一个整数:"))
except ValueError:
    print("无效的输入!")
else:
    print("输入的数字是:", x)
Copier après la connexion

Dans le programme ci-dessus, lorsque l'entrée utilisateur n'est pas un entier, une exception ValueError sera levée et le programme exécutera le code dans le bloc except. Lorsque l'entrée est un entier, le programme s'exécutera. le code dans le bloc else, affiche le numéro saisi par l'utilisateur.

Résumé

La gestion des exceptions est très importante pour les programmeurs. Elle peut nous aider à trouver des erreurs dans le programme, à réduire le taux de plantage du programme et à améliorer la stabilité et la maintenabilité du programme. En Python, l'instruction try-sauf peut nous aider à détecter les exceptions et à les gérer. Le bloc final peut garantir que le code du bloc final sera exécuté dans toutes les circonstances. L'instruction raise peut lever manuellement des exceptions. Veuillez faire un usage raisonnable de ces mots-clés pour garantir que votre programme est plus stable et plus fiable.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal