python--异常
一、异常:
1、python用异常对象(exception object)来表示异常情况。遇到错误时会引发异常。
2、raise语句:使用內建的Exception异常类。添加异常信息。
3、查看內建异常的种类:
Exception:所有异常的基类。
AttrbuteError:特性引用或者赋值失败时引发。
IOError:打开不存在的文件时引发。
IndexError:使用序列中不存在的索引时引发。
KeyError:使用映射中不存在的键时引发。
NameError:找不到名字变量时引发。
SyntaxError:代码错误时引发。
TypeError:內建操作或者函数应用于错误类型的对象时引发。
ValueError:內建操作或者函数应用于正确类型的对象,但该对象使用不合适的值时引发。
ZeroDivisionError:除法或者模除操作的第二个参数为0时引发。
4、自定义异常类:创建一个类只需要让它继承于內建异常类就可以了。
5、捕捉异常:try/except语句。
1、 以下代码是用于捕获ZeroDivisionError异常:
代码运行结果:
2、以下代码通过开关控制是否让异常传播。
代码运行结果:
3、捕获多个异常:
程序运行结果:
4、使用一个块捕获多个异常:
5、捕捉对象:记录打印错误信息。
6、真正的全捕捉:except:忽略所有的异常类。
7、编写一个除法计算器,直至成功实现除法运算后才退出循环。
程序运行结果:
8、最后finally子句:用于在可能的异常后进行清理。用于关闭文件或者网络套接字会非常的有用。
9、异常和函数:
在函数内引发的异常,如果没有被处理,它会传播至函数调用的地方,如果还是未被处理,它会继续传播一直到达主程序。
如下程序:由faulty引发的异常通过faulty和ignore_exception传播,直到传播到handle_exception这个函数才被处理。
程序运行结果: