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

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

Patricia Arquette
リリース: 2024-11-27 12:23:11
オリジナル
905 人が閲覧しました

How Can I Log Python Exception Tracebacks Without Stopping Program Execution?

プログラム終了を伴わないトレースバック ログ

例外をキャッチしてログに記録することは、アプリケーションの安定性を維持するために非常に重要です。ただし、従来の try/excel ブロッ​​クでは例外の伝播が妨げられ、プログラムの実行が停止する可能性があります。この記事では、プログラムを終了せずに Python 例外トレースバック全体をキャッチして出力するソリューションについて説明します。

例外の詳細のキャプチャ

プログラムを停止せずに例外の詳細をキャプチャするには、次のようにします。トレースバック.format_exc()を利用できます。この関数は、例外のトレースバックを表す書式設定された文字列を生成します。

実装例

次のコードを考えてみましょう。

import traceback

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

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

このコードは do_stuff を実行します。 () 関数。例外が発生します。 Try/Except ブロックは、プログラムをクラッシュさせる代わりに、例外をキャッチし、traceback.format_exc() を使用してトレースバックを出力します。

出力

上記のコードは、次の出力は、try/excel を使用せずに生成された例外トレースバックと同じです。 block:

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
ログイン後にコピー

結論

try/Except ブロック内で traceback.format_exc() を利用することで、プログラム フローを中断することなく例外の詳細をキャプチャしてログに記録できます。これにより、アプリケーションの安定性を損なうことなく、エラー処理とデバッグが可能になります。

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

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