検索

ホームページ  >  に質問  >  本文

Python - 例外が発生したときにスタック内の値を取得する方法

次のようなコードがあるとします:

リーリー

ここで、例外が発生したときに例外が発生する前の各変数の値を取得したい、つまり a=1, b=0 のような結果を取得したいとします。

習慣沉默習慣沉默2864日前800

全員に返信(4)返信します

  • 習慣沉默

    習慣沉默2017-05-18 11:01:04

    inspect.currentframe

    リーリー

    返事
    0
  • PHP中文网

    PHP中文网2017-05-18 11:01:04

    この Python は積極的に実装できないはずです。そのようなメソッドがある場合、多層呼び出し中に例外が発生し、対応するデータが層ごとに記録されて返され、メモリの問題が発生する可能性があります。 ; そして、例外が発生する前に、仮想マシンは問題があることを認識しません。これは、i_pmod 関数で実装された、上記のゼロによる除算例外が実行されているようなものです。 PyIntobject のコードでは、除数が 0 であると判断され、例外が直接トリガーされ、スタックはレイヤーごとに例外が発生したことをユーザーに返します。シンボルの値に関連するコードはありません。 try_block に記録されるため、多くの人は、より詳細なコードを例外で作成し、人間化された出力を行います

    返事
    0
  • 黄舟

    黄舟2017-05-18 11:01:04

    ipython を使用して pdb を開くと、どの行にエラーがあるかを報告できます。

    リーリー

    返事
    0
  • 为情所困

    为情所困2017-05-18 11:01:04

    pdb

    次のコードを追加します:

    リーリー

    次のように実行します:

    リーリー

    返事
    0
  • キャンセル返事