Python 异常处理:从小白到专家的进阶之路
1. 理解异常
异常是指程序运行期间发生的错误或异常情况,可能由各种原因引起,例如:
2. Python 异常处理机制
python 提供了异常处理机制来处理程序运行期间发生的异常,它主要包括 try、except 和 finally 三个语句。
立即学习“Python免费学习笔记(深入)”;
3. 代码示例
# 导入异常处理模块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")
在上面的示例中,try 语句块用于尝试打开和读取文件,except 语句块用于处理文件不存在的异常情况,finally 语句块用于无论是否发生异常,都关闭文件。
4. 常见异常类型
Python 中有许多内置的异常类型,它们表示不同的错误或异常情况,例如:
程序员可以通过 sys.exc_info() 函数来获取当前发生的异常信息,并根据不同的异常类型来采取不同的处理方式。
5. 自定义异常类型
除了内置的异常类型之外,程序员还可以自定义异常类型来处理特定的错误或异常情况。例如,可以定义一个 MyError 异常类型来处理应用程序中发生的自定义错误:
class MyError(Exception):def __init__(self, message):self.message = messagedef my_function():# 抛出自定义异常raise MyError("An error occurred.")try:my_function()except MyError as e:# 处理自定义异常print(e.message)
在上面的示例中,MyError 是一个自定义的异常类型,它继承自 Exception 类。当 my_function() 函数抛出 MyError 异常时,try 语句块捕获该异常并打印异常信息。
6. 总结
Python 异常处理机制是程序员在编写代码时必须掌握的关键技能之一,它可以帮助程序员优雅地处理程序运行期间发生的错误和异常情况,避免程序崩溃。