在 python 中,每当我们编写用户定义的异常时,我们都必须从 class 扩展它Exception
。我的问题是为什么我们不能扩展它,BaseException
它是异常层次结构的超类,Exception
也是BaseException
.
问问题
854 次
2 回答
9
BaseException
KeyboardInterrupt
包括and之类的东西SystemExit
,它们使用异常机制,但大多数人不应该抓住它。Throwable
如果您熟悉的话,它类似于Java。直接派生的事物BaseException
通常旨在关闭系统,同时执行finally
块和上下文管理器__exit__
方法以释放资源。
于 2013-07-23T05:50:19.143 回答
3
根据Python2 文档,有四个例外是BaseException
:
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
不是的三个Exception
实际上不是错误,这意味着通常您不想将它们当作错误来捕获。 BaseException
在 Python2.5 中添加(在此之前,没有BaseException
,其他异常是从 子类化的Exception
)。
于 2013-07-23T05:57:02.390 回答