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