2

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_raiselogged_raise(MyException,...)

4

0 に答える 0