[解決済み] トレースバック / sys.exc_info() の値を変数に保存する方法は?
2022-01-28 01:17:46
質問
エラーの名前とトレースバックの詳細を変数に保存したいのですが、どうすればいいですか? 以下は私の試みです。
import sys
try:
try:
print x
except Exception, ex:
raise NameError
except Exception, er:
print "0", sys.exc_info()[0]
print "1", sys.exc_info()[1]
print "2", sys.exc_info()[2]
出力します。
0 <type 'exceptions.NameError'>
1
2 <traceback object at 0xbd5fc8>
希望する出力
0 NameError
1
2 Traceback (most recent call last):
File "exception.py", line 6, in <module>
raise NameError
追伸:tracebackモジュールを使えば簡単にできることは分かっているのですが、ここでsys.exc_info()[2]オブジェクトの使用法を知りたいのです。
解決方法は?
私はこうしています。
>>> import traceback
>>> try:
... int('k')
... except:
... var = traceback.format_exc()
...
>>> print var
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ValueError: invalid literal for int() with base 10: 'k'
ただし トレースバック・ドキュメント というのも、その後に変数をどのように処理したいかに応じて、より適切な方法が見つかるかもしれないからです。
関連
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] 変数を参照渡しする方法を教えてください。
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] 変数が存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】プログラムを停止/終了させることなく、完全な例外トレースバックをキャッチして表示する方法は?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Pythonによるjieba分割ライブラリ
-
python implement mysql add delete check change サンプルコード
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み] 例外をキャッチしたとき、型、ファイル、行番号を取得するにはどうすればよいですか?
-
[解決済み】pythonのe.printStackTraceの等価性