在编写Python程序时,我们经常会遇到各种异常、错误等。对于异常处理的常用操作,记录如下:
1、try-except
try-except语句是Python中最常用的异常处理结构。它的基本语法如下:
try:
# 尝试执行的代码块
except ExceptionType:
# 当发生指定类型的异常时执行的代码块
其中,ExceptionType是可选的,表示要捕获的异常类型。如果不指定,则默认捕获所有异常。
例如,我们尝试打开一个不存在的文件:
try:
file = open("test.txt", "r")
except FileNotFoundError:
print("文件不存在")
这个例子中,使用try-except语句捕获了FileNotFoundError异常,并输出了一条提示信息。
2、finally
finally子句用于在异常处理结束后执行一些必要的清理操作。无论是否发生异常,finally子句中的代码都会被执行。其基本语法如下:
try:
# 尝试执行的代码块
except ExceptionType:
# 当发生指定类型的异常时执行的代码块
finally:
# 无论是否发生异常,都会执行的代码块
例如,我们尝试打开一个文件,并在最后关闭文件:
try:
file = open("test.txt", "r")
except FileNotFoundError:
print("文件不存在")
finally:
print("无论是否发生异常,都会执行的代码块")
在这个例子中,无论是否发生异常,都会执行finally之后的语句。
3、raise
raise语句用于主动抛出异常。我们可以自定义异常类型和异常信息。其基本语法如下:
raise ExceptionType("异常信息")
例如,我们定义一个函数,当输入的值小于0时抛出异常:
def test(x):
if x < 0:
raise ValueError("输入值不能小于0")
return x * x
test(-1)
在这个例子中,当输入的值小于0时,我们使用raise语句抛出了一个ValueError异常,并附带了一条提示信息。