2016-11-01 118 views
0

如何確保瓶子錯誤處理程序得到最具體的異常?如何處理瓶子錯誤處理程序的排序

從一些簡單的測試和源代碼看,它看起來像燒瓶錯誤處理代碼只是爲給定的異常類型取第一個註冊錯誤處理程序,而不是最具體的類型。

我想答案是把Exception的錯誤處理程序放在最後?

回答

1

錯誤處理程序遵循例外類MRO或方法解析順序,並按照該順序查找處理程序;首先是特定的異常類型,然後是直接父類等,一直到BaseExceptionobject

有沒有必要訂購任何東西;如果您註冊了Exception的處理程序,那麼它將用於任何發現沒有更具體處理程序的異常。