Gestion des exceptions Python : la voie vers l'avancement de novice à expert

王林
Libérer: 2024-02-25 16:01:06
avant
1083 Les gens l'ont consulté

Python 异常处理:从小白到专家的进阶之路

1. Comprendre les exceptions

Exception fait référence à une erreur ou à une situation anormale survenant lors de l'exécution du programme, qui peut être causée par diverses raisons, telles que :

  • Erreur de syntaxe : il y a une erreur de syntaxe dans le code qui empêche la compilation ou l'exécution du programme.
  • Erreur d'exécution : une erreur se produit lors de l'exécution du code, comme une division par zéro, indexhors plage, le fichier n'existe pas, etc.
  • Erreur logique : la logique du code est incorrecte, ce qui entraîne un comportement du programme différent de celui attendu.

2. Mécanisme de gestion des exceptions Python

python fournit un mécanisme de gestion des exceptions pour gérer les exceptions qui se produisent pendant l'exécution du programme. Il comprend principalement tryexceptfinally trois instructions.

  • try Les blocs d'instructions sont utilisés pour spécifier le code à tenter d'exécuter.
  • Le bloc d'instructions
  • sauf est utilisé pour spécifier le code à exécuter lorsqu'une exception se produit dans le bloc d'instructions except 语句块用于指定当 try.
  • Le bloc d'instructions
  • finally est utilisé pour spécifier le code qui doit être exécuté, qu'une exception se produise ou non dans le bloc d'instructions finally 语句块用于指定无论 try.

3. Exemple de code

# 导入异常处理模块
import sys

# 定义一个函数来读取文件
def read_file(filename):
# 使用 try 语句块来捕获异常
try:
# 打开文件
with open(filename, "r") as f:
# 读取文件内容
data = f.read()
# 关闭文件
f.close()
# 使用 except 语句块来处理异常
except FileNotFoundError:
# 文件不存在时,打印错误信息
print("Error: File not found.")
# 使用 finally 语句块来释放资源
finally:
# 无论是否发生异常,都关闭文件
f.close()

# 调用函数来读取文件
read_file("data.txt")
Copier après la connexion

Dans l'exemple ci-dessus, le bloc d'instructions try 语句块用于尝试打开和读取文件,except 语句块用于处理文件不存在的异常情况,finally est utilisé pour essayer d'ouvrir et de lire le fichier, le bloc d'instructions sauf est utilisé pour gérer les exceptions lorsque le fichier n'existe pas, et le finalement Le bloc d'instructions est utilisé. Qu'une exception se produise ou non, le fichier est fermé.

4. Types d'exceptions courants

Python Il existe de nombreux types d'exceptions intégrés qui représentent différentes conditions d'erreur ou d'exception, telles que :

  • NameError : Indique une variable ou une fonction non définie.
  • TypeError : Indique une incompatibilité de type.
  • ValueError : Indique une valeur invalide.
  • IndexError : Indique que l'index est hors plage.
  • KeyError : Indique les clés qui n'existent pas dans le dictionnaire.
Les

Les programmeurs peuvent obtenir les informations sur les exceptions en cours via la fonction sys.exc_info() et adopter différentes méthodes de gestion en fonction des différents types d'exceptions.

5. Type d'exception personnalisé

En plus des types d'exceptions intégrés, les programmeurs peuvent également personnaliser les types d'exceptions pour gérer des erreurs ou des exceptions spécifiques. Par exemple, vous pouvez définir un MyError type d'exception pour gérer les erreurs personnalisées qui se produisent dans votre application :

class MyError(Exception):
def __init__(self, message):
self.message = message

def my_function():
# 抛出自定义异常
raise MyError("An error occurred.")

try:
my_function()
except MyError as e:
# 处理自定义异常
print(e.message)
Copier après la connexion

Dans l'exemple ci-dessus, MyError 是一个自定义的异常类型,它继承自 Exception 类。当 my_function() 函数抛出 MyError 异常时,try est un type d'exception personnalisé qui hérite de la classe Exception. Lorsque la fonction my_function() lève une exception

, le bloc d'instructions

intercepte l'exception et imprime les informations sur l'exception.

6.Résumé

🎜Le mécanisme de gestion des exceptions Python est l'une des compétences clés que les programmeurs doivent maîtriser lors de l'écriture de code. Il peut aider les programmeurs à gérer avec élégance les erreurs et les exceptions qui se produisent pendant l'exécution du programme et à éviter les plantages du programme. 🎜

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:lsjlt.com
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