Python 异常处理
Python中的异常处理。让我们了解如何使用try、except、else和finally来处理程序中的错误!
异常处理的基本使用
首先,让我们看看如何使用try和except来捕获异常。
try:
result = 10 / 0
except ZeroDivisionError:
print("不能除以0!")
执行结果:
不能除以0!
在这个例子中,尝试除以0会引发ZeroDivisionError,但被except块捕获并处理。
捕获多种异常
我们还可以捕获多种异常类型。
try:
result = 10 / 0
num = int("hello")
except ZeroDivisionError:
print("不能除以0!")
except ValueError:
print("不能将字符串转换为整数!")
执行结果:
不能除以0!
在这个例子中,我们捕获了ZeroDivisionError和ValueError两种异常类型,并分别进行处理。
使用else语句
当没有异常发生时,可以使用else语句执行特定代码。
try:
result = 10 / 2
except ZeroDivisionError:
print("不能除以0!")
else:
print("结果是:", result)
执行结果:
结果是: 5.0
如果try块中的代码没有引发异常,else块中的代码将会被执行。
finally语句
finally块中的代码无论是否发生异常都会被执行。
try:
result = 10 / 0
except ZeroDivisionError:
print("不能除以0!")
finally:
print("执行完成,无论是否发生异常。")
执行结果:
不能除以0!
执行完成,无论是否发生异常。
在这个例子中,无论是否发生异常,finally块中的代码都会被执行。
自定义异常
我们还可以定义自己的异常类型。
class CustomError(Exception):
pass
try:
raise CustomError("这是一个自定义错误")
except CustomError as e:
print("捕获到自定义异常:", e)
执行结果:
捕获到自定义异常: 这是一个自定义错误
通过定义自定义异常类并使用raise语句,我们可以引发并捕获特定的异常类型。
总结
总结一下,异常处理使我们的程序更加健壮和易于调试。通过灵活使用try、except、else和finally,我们可以有效地处理程序中的错误,确保程序正常运行。
License:
CC BY 4.0