例外オブジェクトであるerr
の詳細情報をエラーメッセージを超えて取得しようとしています。私のコードでは、いくつかのサブ関数の深い例外を捕捉することがあります。戻る私はなどsys.exc_infoを除いた例外から情報を取得する
例外が発生した場所についての情報を印刷するトップレベルに私は答えがsys.exc_info
を使用することを含む同様の質問を見てきましたが、ドキュメントによると、これはあまりにも限られている:
現在のスタックフレームまたは古いスタックフレーム内の 節以外で検出された最新の例外に関する情報を返します。
Iは、おそらく複数の例外は、後の点で上昇された状態で、プログラムの実行中にいくつかの不可知の時点でキャプチャされ、記憶された任意の例外オブジェクトからこの情報を取得したい一方。
情報がそこにあるようです。私がraise err
を発行すれば、それはすべて出てくる。しかし、例外オブジェクトからそれを取り除く方法を理解することはできませんrais
それを送信する。どういうわけかraise
の出力を文字列に取り込んで印刷することはできますか?
それが発生するまで、例外は普通のオブジェクトです。 –
はい、それが私が求めている理由です。このオブジェクトを調べて行番号などを見つけるにはどうすればよいですか? – DNF
何の行番号ですか?例外が発生した行にすることはできません –