python基础23—异常捕获
1、异常捕获
try:
可能会出错的代码
except:
try中的代码出现异常时,执行except中的代码
else:
try中的代码没有出现异常时,执行else中的代码
finally:
不管try中的代码是否出现异常,都会执行finally中的代码
2、捕获指定类型的异常
(1)捕获一个指定类型的异常
以指定捕获NameError为例
try:
print(n1)
except NameError as e:
print(“代码出错啦”)
print(“当前出错的原因:”,e)
得到结果:代码出错啦
当前出错的原因: name ‘n1’ is not defined
注:只有try下面的代码出错原因是NameError类型时,才会执行except下的代码,其他的错误类型依旧按默认的报错方式
(2)捕获多个指定类型的异常
方式一:使用多个except(不同异常类型做不同处理)
try:
可能会出现错误的代码
except NameError as e:
print(“代码出错啦nameerror了”)
print(“当前出错的原因:”,e)
except ValueError as e:
print(“代码出错啦valueerror了”)
print(“当前出错的原因:”,e)
注:try下面的多行代码,一旦有一行有错误被监测出来,就会进入except捕获,下面的代码不会再执行
方式二:使用一个except(不同异常类型做相同处理)
try:
可能会出现错误的代码
except (NameError,ValueError,KeyError) as e:
print(“代码出错啦”)
print(“当前出错的原因:”,e)