异常类的实例
- 每当有一个异常类输出,该异常类都会创建一个实例,这个实例会继承了异常类的所有属性。
- 每一个异常类实例,都有一个args属性
- args属性是一个元祖格式,这个元祖格式可能只包含错误信息的字符串
看下面的例子
try:
x = [1,2,3]
print(x[4])
except IndexError as i:
print(i)
print(i.args)
运行结果
list index out of range
('list index out of range',)
再看一个例子
try:
file = open("a","r")
except FileNotFoundError as f:
print(f)
print(f.args)
运行结果
[Errno 2] No such file or directory: 'a'
(2, 'No such file or directory')
清除异常 finally
- 不管try内的语句是否被运行,finally里面的语句始终运行
看一个例子
# 当程序数据正常会运行finally下面的语句
try:
x = [1,2,3]
print(x[2])
except IndexError as i:
print(i.args)
finally:
print("异常已经被清除")
运行结果
3
异常已经被清除
再看一个例子
# 当程序数据不正常会运行finally下面的语句
try:
x = [1,2,3]
print(x[4])
except IndexError as i:
print(i.args)
finally:
print("异常已经被清除")
运行结果
('list index out of range',)
异常已经被清除