Python 为什么我们不应该扩展BaseException类?

Python 为什么我们不应该扩展BaseException类?,python,Python,为什么我们不应该扩展BaseException类来创建我们自己的异常,而不是在Python2.7中扩展异常类?让我们看看 从BaseException派生的唯一异常是SystemExit、KeyboardInterrupt和GeneratorExit。他们是不应该被偶然抓住的例外。这就是他们不同的原因 引自: 该异常继承自BaseException,以便不会被捕获异常的代码意外捕获,从而阻止解释器退出 这也是为什么不应该使用try:。。。除了:。。。不指定异常类型。谢谢您回答我的问题。我已经找到

为什么我们不应该扩展BaseException类来创建我们自己的异常,而不是在Python2.7中扩展异常类?

让我们看看

从BaseException派生的唯一异常是SystemExit、KeyboardInterrupt和GeneratorExit。他们是不应该被偶然抓住的例外。这就是他们不同的原因

引自:

该异常继承自BaseException,以便不会被捕获异常的代码意外捕获,从而阻止解释器退出


这也是为什么不应该使用try:。。。除了:。。。不指定异常类型。

谢谢您回答我的问题。我已经找到了一些答案,在BaseException中有一个finally块,它具有_exit __)方法,该方法导致退出应用程序。这就是我们不应该扩展BaseException而不是Exception类的原因……这毫无意义。异常扩展了BaseException,因此异常具有_退出_。事实上,任何未捕获的异常都将退出应用程序。你能给我一个̶n̶e̶x̶c̶e̶p̶t̶i̶o̶n̶链接吗?̶u exit̶是一个上下文管理器挂钩,不退出应用程序。sys.exit退出应用程序。