sys.exc_info()はタプル(型、値、トレースバック)を返します。
ですので、sys.exc_info()[2]
がトレースバックオブジェクトです。なぜexc_tracebackが返されないのですか?
なぜそれがこのコードで例外のトレースバックをキャッチしません:
import sys
try:
1/0
except ZeroDivisionError:
print sys.exc_info()[2].tb_frame.f_back
tb_frameとf_back使い方はここで説明されています: Frame Objects
トレースバックがあります。そうでなければ、 'AttributeError'が返されますが、トレースバックのフレームには' f_back'がありません。それは私には完全に賢明です。これを直接実行しているなら、あなたはどんな外部フレームを期待していましたか?* – jonrsharpe
269行のtraceback.pyモジュールで標準ライブラリに同じ:tb_frame.f_backが使用されました。 – Heartagramir
それは本当に私の質問に答えるものではありません。 *なぜ、外枠*があると思いましたか? – jonrsharpe