MYSQL データベースを使用して PHP でプログラムを作成しています。エラーをキャッチして、システム エラーの代わりにユーザー定義エラーを表示したいです。try と catch を使用して例外を処理していますが、致命的なエラーは try と catch でキャッチされません。set_exception_handler を使用しましたが、致命的なエラーをキャッチする方法を教えてください。
3 に答える
3
1) シンプル
2) キャッチオール
スクリプト内のエラーを処理するユーザー関数 (error_handler) を設定します。
http://php.net/manual/en/function.set-error-handler.php
http://php.net/manual/en/book.errorfunc.php
3) https://barelysufficient.org/2011/03/catching-fatal-errors-in-php/を読む
于 2013-09-20T06:14:55.423 に答える
0
これは PHP Manual [Personally Tested & Works]の変更例です。ここは使っていませんregister_shutdown()
。
<?php
set_error_handler( "log_error" );
set_exception_handler( "log_exception" );
function log_error( $num, $str, $file, $line, $context = null )
{
log_exception( new ErrorException( $str, 0, $num, $file, $line ) );
}
function log_exception( Exception $e )
{
echo "Some Error Occured. Please Try Later.";
exit();
}
require_once("texsss.php");// I am doing a FATAL Error here
出力:
エラーが発生しました。後でお試しください。
于 2013-09-20T07:18:14.453 に答える