如何处理烧瓶错误处理程序的排序

时间:2016-11-01 11:59:51

标签: python python-3.x flask

如何确保烧瓶错误处理程序获得最具体的异常?

从一些简单的测试和查看源代码,看起来烧瓶错误处理代码只是采用给定异常类型的第一个寄存器错误处理程序而不是最可能的特定类型。

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

1 个答案:

答案 0 :(得分:4)

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

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