Maison développement back-end Tutoriel Python Techniques de gestion des exceptions en Python

Techniques de gestion des exceptions en Python

Jun 09, 2023 pm 11:04 PM
异常处理 抛出异常 python错误

En programmation Python, lorsqu'une erreur ou une exception se produit lors de l'exécution du code, le programme cesse de s'exécuter. Afin de permettre au programme de continuer à s'exécuter lorsqu'une exception se produit, Python fournit un mécanisme de gestion des exceptions. Cet article présentera aux lecteurs les techniques de gestion des exceptions en Python.

  1. Instruction try-sauf

En Python, vous pouvez utiliser l'instruction try-sauf pour gérer les exceptions. Son format de base est le suivant :

try:
    # 可能会出现异常的代码
except Exception as e:
    # 如果出现异常,执行这里的代码
Copier après la connexion

Dans cette instruction try-sauf, le code pouvant provoquer des exceptions doit être placé dans le bloc de code try. Si une exception se produit dans le code du bloc de code try, elle passera au bloc de code except pour l'exécution au lieu de terminer directement le programme.

Il convient de noter que Exception dans l'instruction except est un type d'exception général. Si vous souhaitez gérer uniquement des types d'exceptions spécifiques, vous pouvez remplacer Exception par un type d'exception spécifique. Par exemple :

try:
    a = 10 / 0
except ZeroDivisionError as e:
    print('除数不能为0。')
Copier après la connexion

Dans ce code, nous précisons que nous ne gérons que les exceptions comme ZeroDivisionError. Si d'autres types d'exceptions se produisent dans le bloc de code try, le programme plantera directement.

  1. Instruction try-sauf-else

En plus des instructions try-sauf, Python fournit également des instructions try-sauf-else. Son format de base est le suivant :

try:
    # 可能会出现异常的代码
except Exception as e:
    # 如果出现异常,执行这里的代码
else:
    # 如果没有出现异常,执行这里的代码
Copier après la connexion

Dans cette instruction, le code du bloc de code else ne sera exécuté que lorsque le code du bloc de code try ne rencontre pas d'exception. Cette instruction est très utile lors du traitement de certaines opérations nécessitant des opérations ultérieures basées sur les résultats de l'exécution du code.

  1. Instruction try-sauf-finally

En plus de l'instruction try-sauf-else, Python fournit également l'instruction try-sauf-finally. Son format de base est le suivant :

try:
    # 可能会出现异常的代码
except Exception as e:
    # 如果出现异常,执行这里的代码
finally:
    # 无论有没有出现异常,都会执行这里的代码
Copier après la connexion

Dans cette instruction, le code du bloc de code final sera exécuté, qu'une exception se produise ou non dans le code du bloc de code try. Cette instruction est très utile lorsqu'un travail de nettoyage est requis, comme la fermeture de fichiers, la fermeture de connexions à une base de données, etc.

  1. Lancer des exceptions

En Python, vous pouvez également utiliser l'instruction raise pour lever manuellement des exceptions. Son format de base est le suivant :

raise Exception('错误信息')
Copier après la connexion

Dans cette instruction, nous avons lancé manuellement une exception et transmis un message d'erreur. Cette instruction est utile lorsque vous devez détecter manuellement certaines situations et lever des exceptions.

  1. Exceptions personnalisées

En plus d'utiliser les propres types d'exceptions de Python, vous pouvez également personnaliser les types d'exceptions. Son format de base est le suivant :

class CustomException(Exception):
    pass
Copier après la connexion

Dans ce code, nous définissons un type d'exception nommé CustomException et le laissons hériter d'Exception. Dans la programmation réelle, nous pouvons personnaliser différents types d'exceptions selon les besoins pour rendre le code plus lisible et maintenable.

Résumé

La gestion des exceptions est une partie très importante de la programmation Python. En utilisant des instructions try-sauf, des instructions try-sauf-else, des instructions try-sauf-finally et des instructions raise, le programme peut continuer à s'exécuter lorsqu'une exception se produit, améliorant ainsi la robustesse et la stabilité du programme. Dans le même temps, les types d’exceptions personnalisés peuvent rendre le code plus lisible et plus facile à gérer.

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 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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Exceptions de fonctions C++ et multithreading : gestion des erreurs dans les environnements concurrents Exceptions de fonctions C++ et multithreading : gestion des erreurs dans les environnements concurrents May 04, 2024 pm 04:42 PM

Exceptions de fonctions C++ et multithreading : gestion des erreurs dans les environnements concurrents

Comment la gestion des exceptions C++ prend-elle en charge les routines de gestion des erreurs personnalisées ? Comment la gestion des exceptions C++ prend-elle en charge les routines de gestion des erreurs personnalisées ? Jun 05, 2024 pm 12:13 PM

Comment la gestion des exceptions C++ prend-elle en charge les routines de gestion des erreurs personnalisées ?

Quelle est la relation entre les appels récursifs et la gestion des exceptions dans les fonctions Java ? Quelle est la relation entre les appels récursifs et la gestion des exceptions dans les fonctions Java ? May 03, 2024 pm 06:12 PM

Quelle est la relation entre les appels récursifs et la gestion des exceptions dans les fonctions Java ?

Gestion des exceptions en technologie C++ : Comment gérer correctement les exceptions dans un environnement multithread ? Gestion des exceptions en technologie C++ : Comment gérer correctement les exceptions dans un environnement multithread ? May 09, 2024 pm 12:36 PM

Gestion des exceptions en technologie C++ : Comment gérer correctement les exceptions dans un environnement multithread ?

Gestion des exceptions dans un environnement multithread Java Gestion des exceptions dans un environnement multithread Java May 01, 2024 pm 06:45 PM

Gestion des exceptions dans un environnement multithread Java

Comment gérer les exceptions dans les expressions C++ Lambda ? Comment gérer les exceptions dans les expressions C++ Lambda ? Jun 03, 2024 pm 03:01 PM

Comment gérer les exceptions dans les expressions C++ Lambda ?

Gestion des exceptions PHP : comprendre le comportement du système grâce au suivi des exceptions Gestion des exceptions PHP : comprendre le comportement du système grâce au suivi des exceptions Jun 05, 2024 pm 07:57 PM

Gestion des exceptions PHP : comprendre le comportement du système grâce au suivi des exceptions

Comment gérer les exceptions C++ cross-thread ? Comment gérer les exceptions C++ cross-thread ? Jun 06, 2024 am 10:44 AM

Comment gérer les exceptions C++ cross-thread ?

See all articles