atexit
最後のエラーオブジェクトを取得し、その型をチェックするPython関数を実装する必要があります。 Pythonのエラーの種類がPHPのE_ERROR
に該当する場合は、エラーの出力をファイルに保存する必要があります。PHPのerror_get_last()関数の代わりにPythonを使用していますか?
PHPコード私はそうのようなルックスを移植しています:以下のように
register_shutdown_function("fatal_handler");
function fatal_handler() {
$error = error_get_last();
if ($error != null && $error['type'] === E_ERROR)
echo "recordFatalError: {$error['message']}\n";
}
私のコードのスナップは、次のとおりです。
def fatal_handler():
# How to get last error object?
atexit.register(fatal_handler)
誰かがどのように私に説明している場合、私は喜んでいるだろう、私は必要を得ることができますPythonでの機能
このアプローチの問題は、 'sys.last_value'が、それは常に' atexit'機能付き真実ではない中にエラーが発生した場合にのみ参照することができるということです。また、値の型( 'sys.last_type')だけでなく、例外の型も必要です。 – ddnomad
@ddnomadオブジェクトのタイプを見つけるのは簡単です。 'type'を使用します。利用可能な 'sys.last_type'もあります。 – vaultah
まだ私は、これらの値が存在することを確認するために 'try/except'ブロックを避ける他の可能な方法に興味があります。 – ddnomad