第十三章 异常
一、异常类:
1.BaseException是异常的顶级类,但用户定义的类不能直接继承这个类,而是要继承Exception。Exception类是与应用相关异常的顶层基类,除了系统退出事件类(SystemExit、KeyboardInterrupt和GeneratorExit)之外,几乎所有用户定义的类都应该继承自这个类,而不是BaseException类。
二、捕获与处理异常:
1.try-except语句
2.使用as获取异常信息
3.try-except-else语句
4.try-finally语句
三、触发异常:
1.触发异常有两种情况:一种是程序执行中因为错误自动触发异常,另一种是显式地使用raise或assert语句手动触发异常。
2.raise语句:
(1)通过类名触发异常
(2)通过异常类的实例对象触发异常
(3)重新触发异常
3.assert语句:assert语句(又称断言)当表达式为真时,不触发异常;当表达式为假时,触发AssertionError异常。assert语句的主要功能是帮助程序员调试程序。
三、自定义异常:自定义异常类一般继承于Exception或其子类,其命名一般以Error或Exception为后缀。
四、回溯最后的异常:使用sys模块中exc_info()函数来回溯最后一次异常信息,该函数返回一个元组(type, value/message, traceback)。
1.type:异常的类型。
2.value/message:异常的信息或者参数。3.traceback:包含调用栈信息的对象。
2020-11-28
最新推荐文章于 2022-04-17 14:54:13 发布