如何在方法中引发异常,使得回溯指向方法调用?

时间:2013-09-26 11:16:55

标签: python exception python-2.7 logging

我想编写一个函数,除了引用给定的Exception之外,基本上还会添加一个日志条目,例如

def logged_raise(exc, *args):
    try:
        raise exc(args)
    except exc:
        logging.exception(args)
        # Or something more complicated, e.g. printing the
        # stacktrace if loggig.isEnabledFor(logging.DEBUG)
        raise

并致电logged_raise(MyException, 'some %s text', myvar)
而不是raise MyException('some %s text', myvar)

虽然这基本上有效,但追溯指向raise exc(args)中的logged_raise行,而不是logged_raise(MyException,...)来电。这可以以某种方式修复吗?

0 个答案:

没有答案