在python中,每当编写用户定义的异常时,都必须从Exception
类扩展它。
我的问题是为什么我们不能从作为异常层次结构的父类(super class)的BaseException
扩展它,而Exception
也是BaseException
的子类。
最佳答案
BaseException
包括诸如KeyboardInterrupt
和SystemExit
之类的东西,它们使用异常机制,但是大多数人不应该捕捉到。如果您熟悉它,它类似于Java中的Throwable
。直接从BaseException
派生的事物通常旨在在执行finally
块和上下文管理器__exit__
方法以释放资源时关闭系统。