异常处理是一种用于捕获和处理程序运行时错误的机制。
Python 提供了一套异常处理机制,允许您编写代码来处理可能出现的错误情况,以保证程序的健壮性和可靠性。
一、异常类
Python 中的异常以类的形式存在,每个异常类代表一种特定的错误类型。
例如,ZeroDivisionError
表示除零错误,FileNotFoundError
表示文件未找到错误等。
二、try
和 except
块
使用 try
块来包装可能会引发异常的代码,然后使用 except
块来处理异常。
如果在 try
块中的代码引发了异常,Python 将跳到匹配的 except
块,执行异常处理代码。
try:
result = 10 / 0
except ZeroDivisionError:
print("除零错误发生")
三、else
块
try
和 except
块之间还可以有一个 else
块,用于处理没有引发异常的情况。
在 try
块中的代码没有引发异常时,将执行 else
块中的代码。
try:
result = 10 / 2
except ZeroDivisionError:
print("除零错误发生")
else:
print("计算结果:", result)
四、finally
块
finally
块中的代码无论是否引发异常都会执行。
通常在 finally
块中进行一些清理操作,如关闭文件或释放资源。
try:
file = open("example.txt", "r")
content = file.read()
except FileNotFoundError:
print("文件未找到")
finally:
file.close()
六、捕获多个异常
您可以在一个 try
块中捕获多种异常,以便根据不同的错误类型采取不同的操作。
try:
value = int("abc")
except (ValueError, TypeError):
print("无法转换为整数")
七、抛出异常
使用 raise
关键字可以在代码中显式地引发异常。
if x < 0:
raise ValueError("x 不能为负数")
Python 还提供了一些内置异常类,以及关于异常处理的更多高级主题,如自定义异常类、异常链等。
异常处理是编写可靠和稳定程序的关键部分,可以帮助您识别和处理潜在的错误,提高代码的健壮性。