第13.1节 关于Python的异常处理
Python的异常网上有很多资料介绍,老猿就不再细说,在这里老猿只挑几件老猿认为重要的内容介绍一下。
一、 异常处理完整语法
异常处理的完整语法语法如下:
try:
…
except (异常1,…,异常n) as e:
异常处理代码1
except (异常k,…,异常l) as e:
异常处理代码1
else:
无异常时的正常代码
finally:
异常捕获最后要执行的代码
二、 异常重点关注的内容
1、注意else和finally的使用
1)else后面是没有异常时的正常处理逻辑,如果异常捕获代码完整,else语句可以直接放在异常处理后面执行,效果是一样的;
2)finally是不论是否出现异常、是否捕获异常,都会执行的语句,一般用于释放特定的资源。
2、如果有多个异常捕获的except子句,应该按异常的继承关系从子类向基类从上向下排列,否则异常定位不够精确,会优先进入前面的基类异常;
3、异常被捕获后,除非使用raise将异常继续抛出,否则异常将不会再向外传递;
4、异常处理的代码内可以再嵌套异常处理,不过一般不鼓励这么使用。
5、使用as语句捕获异常后,可以将异常打印出来;
6、要捕获所有异常,可以使用Exception,如 except Exception as e。
三、 一个异常的例子
>>> def testexcept(i):
try:ret=1/i
except ZeroDivisionError:
print("dived by 0")
else:
print(f"1/{i}={ret}")
finally:
print("end")
>>> testexcept(0)
dived by 0
end
>>> testexcept(1)
1/1=1.0
end
>>>
老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython
请大家多多支持,点赞、评论和加关注!谢谢!