2016-11-01 131 views
0

如何确保瓶子错误处理程序得到最具体的异常?如何处理瓶子错误处理程序的排序

从一些简单的测试和源代码看,它看起来像烧瓶错误处理代码只是为给定的异常类型取第一个注册错误处理程序,而不是最具体的类型。

我想答案是把Exception的错误处理程序放在最后?

回答

1

错误处理程序遵循例外类MRO或方法解析顺序,并按照该顺序查找处理程序;首先是特定的异常类型,然后是直接父类等,一直到BaseExceptionobject

有没有必要订购任何东西;如果您注册了Exception的处理程序,那么它将用于任何发现没有更具体处理程序的异常。