ホームページ > バックエンド開発 > Python チュートリアル > プログラムの実行を停止せずに Python 例外トレースバックをキャプチャして出力するにはどうすればよいですか?

プログラムの実行を停止せずに Python 例外トレースバックをキャプチャして出力するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-27 05:27:14
オリジナル
352 人が閲覧しました

How Can I Capture and Print a Python Exception Traceback Without Stopping Program Execution?

プログラムを終了せずに例外トレースバックを保持する

Python で例外を処理するとき、プログラム フローを中断せずに完全なトレースバックをキャプチャして出力したい場合があります。デフォルトの例外ブロックは例外オブジェクトのみを提供します。これには、例外が発生したときに通常表示される詳細なトレースバックは含まれません。

traceback.format_exc() を使用した解決策

完全なトレースバックを取得するにはトレースバックの場合は、現在のスタック トレースを表す書式設定された文字列を生成する、traceback.format_exc() 関数を利用できます。 Exception.

import traceback

def do_stuff():
    raise Exception("test exception")

try:
    do_stuff()
except Exception:
    print(traceback.format_exc())
ログイン後にコピー

出力

このコードは、try/Except ブロックなしで例外が発生したときに出力されるトレースバックをミラーリングして、次の出力を生成します。

Traceback (most recent call last):
  File "<stdin>", line 5, in <module>
  File "<stdin>", line 3, in do_stuff
Exception: test exception
ログイン後にコピー

traceback.format_exc() を使用すると、プログラムを停止または終了せずにトレースバック全体をキャプチャして出力できるため、詳細な診断情報に確実にアクセスできます。中断のない実行を維持しながら。この手法は、ロギングとデバッグの目的で特に役立ちます。

以上がプログラムの実行を停止せずに Python 例外トレースバックをキャプチャして出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート