2
我定義了一個自定義異常,我需要跟蹤並隨時觸發一個進程。目前,我附上易於在對中引發錯誤的每一行,但隨着代碼的增長,這開始變得越來越醜陋和麻煩。在Python中截取模塊範圍內的特定異常
是否有辦法使模塊範圍的try
-except
聲明?
TL;博士
我目前這樣做:
class MyError(exception):
pass
try:
#error-prone code
except MyError:
context_aware_function()
而且我在尋找這樣的:
class MyError(exception):
pass
errorManager.redirect(from=MyError,to=context_aware_operation)
#error-prone code
好策略。結合所有函數的自動裝飾,這可能是一個很好的解決方案,但不幸的是我的函數隱藏在對象內部,所以我真的需要一個模塊範圍的重定向。 – chiffa 2014-10-07 05:00:07
您可以使用python [introspection](https://docs.python.org/2/library/inspect.html)框架遍歷模塊中的類和函數。用包裝版本替換每個函數可能會很棘手,但... – campkeith 2014-10-08 04:40:36