私のプロジェクトのコードは、次のようなブロックがいっぱいです:"raise"または "exception"の動作を変更できますか?
try:
execute_some_code()
except Exception:
print(datetime.datetime.now())
raise
単に私は、エラーメッセージを取得する場合、私はそれが起こったときに知りたいのですが、理由は。私はこのコードを何度も何度も繰り返すのはむしろ馬鹿だと思っています。
execute_some_code
は、エラーをキャプチャする何かで飾りたいとはしません(関数呼出しではなく、時にはまったく同一の機能を必要としないこともあります。 )。私はまた、stdoutに送信される他のすべてのものにも影響するため、stdoutをすべてのものを記録する別のストリームに振り分けたくありません。
理想的には、私はどちらかraise
文の振る舞いを過剰乗ってみたいすべての時間とのメッセージの-保留を事前に、またはException
クラス(また、すべての実行にdatetime.datetime.now()
を印刷します)。 Exception
から簡単にサブクラス化できますが、私の関数がこのサブクラスのインスタンスを生成していることを確認しなければなりません。
これらのオプションのいずれかは可能ですか?しよう - あなたはない異なる振る舞いをraise
を交換したいん
:
オプションのデバッガを使用していますか? – xuhdev
私は 'sys.excepthook'について書いていましたが、@IljaEveriläはそれを見つけて私に襲いかかりました。 – Boldewyn