Python 异常处理:try、except、else 和 finally 的使用指南


异常处理是 Python 编程中重要的一部分,可以帮助我们编写更健壮的代码来处理可能出现的错误情况。下面是一个简单的指南,介绍了如何在 Python 中使用 tryexceptelsefinally 来进行异常处理:

1. tryexcept

使用 tryexcept 来捕获可能出现的异常,并在出现异常时执行相应的处理代码。

try:
    # 可能会出现异常的代码
    result = 10 / 0
except ZeroDivisionError:
    # 处理 ZeroDivisionError 异常
    print("除数不能为零")

2. 多个 except 子句

可以在一个 try 块中包含多个 except 子句来处理不同类型的异常。

try:
    file = open('nonexistent_file.txt', 'r')
    content = file.read()
    file.close()
except FileNotFoundError:
    print("文件不存在")
except IOError:
    print("无法读取文件")

3. else 子句

else 子句用于指定在没有发生异常时要执行的代码块。

try:
    file = open('example.txt', 'r')
    content = file.read()
    file.close()
except FileNotFoundError:
    print("文件不存在")
else:
    print("文件读取成功")

4. finally 子句

finally 子句用于指定无论是否发生异常都要执行的代码块,通常用于释放资源或进行清理操作。

try:
    file = open('example.txt', 'r')
    content = file.read()
    file.close()
except FileNotFoundError:
    print("文件不存在")
else:
    print("文件读取成功")
finally:
    print("清理操作")

5. 异常类型捕获

可以捕获特定类型的异常,并执行相应的处理代码。

try:
    file = open('example.txt', 'r')
    content = file.read()
    file.close()
except FileNotFoundError:
    print("文件不存在")
except PermissionError:
    print("没有权限访问文件")

6. 自定义异常

可以通过继承内置的 Exception 类来创建自定义的异常。

class CustomError(Exception):
    pass

try:
    raise CustomError("自定义异常消息")
except CustomError as e:
    print(e)

这些是 Python 中异常处理的基本操作。通过合理使用 tryexceptelsefinally 子句,可以使代码更加健壮,并处理可能出现的异常情况。


原文链接:codingdict.net