0

PHPのset_error_handler関数と同等の関数がPython3にありますか?Pythonスクリプトでこれと同等のものを使用するのは良い考えですか、それともより良い解決策がありますか?

set_error_handlerで気に入っているのは、何か問題が発生したときにログに記録したり、メールで送信したりする関数を割り当てることができることです。次に、コードでtrigger_errorを使用すると、error_handler関数が何がどこで発生したかを報告します。Pythonでそれを置き換える方法はありますか?

4

5 に答える 5

1

sys.excepthookを探していると思います。モジュールでも使用されcgitbます。

または、私が書いたライブラリ診断を試すことができます。まだ電子メールはサポートされていませんが、提案に関する問題を開くか、プル リクエストを送信してください :)

于 2013-11-14T21:22:24.220 に答える
0

警告の処理に使用されるPythonライブラリの警告を参照してください。これは、ロギングライブラリのcaptureWarningsにもリンクしています。

ただし、他のほとんどの問題は例外としてスローされます。これは、適切と思われる場合に試してキャッチできます。

于 2013-02-06T12:47:18.667 に答える
0

import cgitb()cgitb.enable()CGIで使用する場合は、cgitbモジュールを使用することもできます。これにより、デバッグ用の非常に詳細なエラーメッセージが出力されます。

于 2013-02-06T12:51:58.890 に答える
0

try/except代わりに、Python例外処理メカニズム( )を使用してください。それははるかに柔軟できめが細かいです。1行のコードから発生するエラー(たとえば、IOErrorファイルが見つからなかったため)、またはプログラム全体からのエラー(のようset_error_handlerに)をキャッチできます。

CGIを使用する場合は、モジュールを使用することもできます。このcgitbモジュールは、デバッグ用の非常に詳細なエラーメッセージを出力します。

import cgitb
cgitb.enable()
于 2013-02-06T12:48:33.363 に答える
0

私の知る限り、Python は主に例外を使用してエラーを処理するため、set_error_handler のような構造を使用する代わりにそれらをキャッチするようにしてください。次のようにします。

try:
    code that might fail...
except:
    handle errors...
于 2013-02-06T12:45:38.337 に答える