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)

3、异常捕获中的finally

finally一定会执行,不管try下面的代码错误类型是不是except指定的错误类型都会执行finally

posted @ 2021-09-16 09:45  2orange  阅读(97)  评论(0)    收藏  举报