关于Exception这句话该怎么理解?

Pancyx 2017-11-24 02:48:44
所有的标准/内建异常都是从根异常派生的.目前,有 3 个直接从 BaseException 派生的异常子类:SystemExit,KeyboardInterrupt 和 Exception.其他的所有的内建异常都是 Exception 的子类.到了 Python2.5,所有的异常的都是新风格(new-style)的类,并且最终都是 BaseException 的子类.
在这一版中,SystemExit 和 KeyboardInterrupt 从 Exception 的继承中移到 BaseException 的继
承下.这样可以允许如 except Exception 的语句捕获所有非控制程序退出的异常.



比较小白 我不是很懂 为什么SystemExit 和 KeyboardInterrupt 从 Exception 的继承中移到 BaseException 的继承下,就可以允许except Exception不惑所有异常, SystemExit和Keyboardlnterrupt继承于 Exception和继承于BaseException 对这些有什么影响吗?又有什么不同呢?
...全文
124 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pancyx 2017-11-26
  • 打赏
  • 举报
回复
哦哦 原来是这样 还是没有读通 谢谢啦
QuantumEnergy 2017-11-25
  • 打赏
  • 举报
回复
注意非控制程序退出的异常.中非控制程序退出这个单词,因为如果SystemExit 也继承于Exception, 那么try ... except Exception, 将无法区分是控制程序退出的错误,还是其他错误

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧