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,...)