1.1 Python中的Exception
什么是Exception
异常是类,每个不同的异常之间有不同的继承链。
系统预定义了一系列的标准异常,这些标准异常的名字通常都以Error结尾。
主要有:语法异常、类型异常、名称异常、值异常、数值异常、系统异常、运行异常等
2.1 Python中的异常处理
try/except语句
基本语法:

异常捕捉是沿调用链向上上传的,如下图,try捕捉的是fun2,但是fun2调用了fun1,所以fun1也在try的捕捉范围
使用except捕获异常时,可以传递一个元组类型的异常,Python解释器会从左到右进行匹配,直到匹配成功或结束就会停止。

等价于
raise语句
手动抛出指定的异常
语法:raise Exception(what)[from Exception2] what表示异常的描述信息。
假如raise不加任何参数,则重新抛出当前抛出的异常

finally语句
同else一样是可选的,区别是无论发生什么,最终都会执行fnally里面的语句,而且必须是放在最后
3.1 自定义异常
自定义异常类型
Python中的标准异常名称以Error作为后缀,所以我们自定义的时候也要遵循这个原则。
只要继承了Exception类就行,内容自定义