タグ

ブックマーク / fgshun.hatenablog.com (1)

  • traceback の情報を残しつつ別の型の例外を送出 - 銀月の符号

    触発されて、例外の再送出について調べてみました。 Pythonでcatchした例外を無加工でもう一度投げなおしたい場合 - 西尾泰和のはてなダイアリー tracebackをログに残す場合のお約束コード - methaneのブログ 例外を捕らえたものの処理しきらないで再送出する場合、 methane さんの指摘の通り、情報量の少ない自作例外にしてしまうのは最悪です。しかし、 raise e としても traceback 情報がなくなってしまうため、これでもダメです。こういうときにはただ raise と書きます。 しかし、 Language Reference によると自作例外など別の型の例外を送出しつつ、 traceback の情報を残すことも可能ということがわかりました。 Python 2 系では raise 文の 3 つめの値に traceback オブジェクトを渡します。 Python

    traceback の情報を残しつつ別の型の例外を送出 - 銀月の符号
  • 1