2

MYSQL データベースを使用して PHP でプログラムを作成しています。エラーをキャッチして、システム エラーの代わりにユーザー定義エラーを表示したいです。try と catch を使用して例外を処理していますが、致命的なエラーは try と catch でキャッチされません。set_exception_handler を使用しましたが、致命的なエラーをキャッチする方法を教えてください。

4

3 に答える 3

3

1) シンプル

PHP致命的エラーをキャッチするにはどうすればよいですか

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 に答える