我是靠谱客的博主 儒雅龙猫,最近开发中收集的这篇文章主要介绍python学习手册(第4版) 第三十四章 异常对象,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.再次回顾程序结构

程序由模块组成,模块包含了语句块,语句块中包含了表达式,表达式创建并处理对象。

 

2.异常类的使用

>>> class General(Exception):pass
...
>>> class Specific1(General):pass
...
>>> class Specific2(General):pass
...
>>> def raise0():
...     X = General()
...     raise X
...
>>> def raise1():
...     X = Specific1()
...     raise X
...
>>> def raise2():
...     X = Specific2()
...     raise X
...
>>> for func in (raise0,raise1,raise2):
...     try:
...         func()
...     except General:
...         import sys
...         print('caught:',sys.exc_info()[0])
...
caught: <class '__main__.General'>
caught: <class '__main__.Specific1'>
caught: <class '__main__.Specific2'>
>>>

上述例子可以说明,捕获General的处理器也会捕获其任何子类。

此处的General的使用,类似我们常用的Exception超类,所有异常类继承自Exception超类(这里的General也是如此),所以使用Exception可以捕获所有的异常。

 

3.类异常的优点

(1)使用超类,方便对其所有的子类进行捕获

(2)正因为对超类的继承,后期如果有新增的子类,不会影响对异常的捕获,维护更方便

 

4.异常根超类

BaseException  异常的顶级根类

Exception  与应用相关的异常的顶层根超类,是BaseException的一个直接子类,并且是所有其他内置异常的超类,除了系统退出事件类之外(SystemExit  KeyboardInterrupt  GeneratorExit)。同时,几乎所有用户定义的异常类都应该继承Exception,而不是BaseException,因此Exception变成了try语句的全捕获,与一个空的except相似,但它允许系统退出异常而且像平常那样通过。

ArithmethicError  所有数值错误的超类(它是Exception的一个子类)

OverflowError  识别特定的数值错误的子类

 

最后

以上就是儒雅龙猫为你收集整理的python学习手册(第4版) 第三十四章 异常对象的全部内容,希望文章能够帮你解决python学习手册(第4版) 第三十四章 异常对象所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部