8.异常
1.异常是什么
Python使用异常对象来表示异常
2.处理异常
1 raise 语句
引发异常。将一个类(Exception的子类)或实例作为参数。
2.自定义的异常类
继承Exception类(直接或间接)
类似:
class SomeCustiomException(Exception):pass
3.捕获异常
try:
...
...
except xxxxxError:
...
1.不用提供参数
捕获异常后如果要重新引发它
可调用raise且不通过参数
2.多个except子句
3.一箭双雕
一个except子句捕获多种异常,可在一个元组中指定异常。
4.捕获对象
在except对象访问异常本身,可使用2个参数。
5.一网打尽
except不指定任何参数即可捕获所有异常
6.万事大吉时
没有异常时执行一个代码块很有用。
为此可以在后面添加一个else子句
7.最后
finally子句 和try子句配套,用于在异常 时执行清理
4.异常和函数
如果不处理函数种引发的异常,它会向上传播到调用函数的地方,如果也未处理,将继续传播直到主程序。
5.异常之禅
如果你知道代码可以引发某种异常,
又不希望出现异常时程序终止,
可添加必要的try/except 或try/finally 来处理
在很多情况下,try/except 比 if/else 更自然
6.警告
warnings 模块中的函数warn
发出警告,仅显示一次
warnings 的 filterwarnigs 抑制你发出的警告