ホームページ > バックエンド開発 > Python チュートリアル > プログラムを終了せずに Python で完全なスタック トレースをキャプチャして表示するにはどうすればよいですか?

プログラムを終了せずに Python で完全なスタック トレースをキャプチャして表示するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-20 12:11:11
オリジナル
620 人が閲覧しました

How Can I Capture and Display a Full Stack Trace in Python Without Terminating the Program?

トレースバックする例外のキャッチ

Python の実行中に例外が発生した場合、プログラムを突然終了せずに例外をキャプチャしてログに記録する必要がある場合があります。 。これを実現するには、特定の例外を適切に処理できる try/excel ブロッ​​クを使用できます。

ただし、特定のシナリオでは、あたかも例外に関連付けられたスタック トレース全体を表示することが望ましい場合があります。インターセプト try/excel ブロッ​​クなしで例外が発生しました。これにより、エラーの特定の原因と場所に関する貴重な洞察が得られます。

包括的なトレースバックを取得するには、traceback.format_exc() メソッドを利用できます。以下に例を示します。

import traceback

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

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

このコード スニペットは、デフォルトの例外スタック トレースを模倣して次の出力を生成します。

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

traceback.format_exc() メソッドを利用することで、全体トレースバックはキャプチャおよび出力され、例外の発生の詳細な記録が提供されます。この情報は、プログラムの実行を中断することなく、デバッグやエラーの根本原因を理解するのに非常に貴重です。

以上がプログラムを終了せずに Python で完全なスタック トレースをキャプチャして表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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