PHP set_error_handler()関数
例
set_error_handler()関数を使用してユーザー定義のエラーハンドラー関数を設定し、(trigger_error()を使用して)エラーをトリガーします。
<?php
// A user-defined error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "<b>Custom error:</b> [$errno] $errstr<br>";
echo " Error on line $errline in $errfile<br>";
}
// Set user-defined error handler function
set_error_handler("myErrorHandler");
$test=2;
// Trigger error
if ($test>1) {
trigger_error("A custom error has been triggered");
}
?>
定義と使用法
set_error_handler()関数は、ユーザー定義のエラーハンドラー関数を設定します。
注:この関数を使用すると、標準のPHPエラーハンドラーは完全にバイパスされます。ユーザー定義のエラーハンドラーは、必要に応じてスクリプトdie()を終了する必要があります。
注:スクリプトの実行前にエラーが発生した場合、その時点では登録されていないため、カスタムエラーハンドラーは使用できません。
構文
set_error_handler(errorhandler, E_ALL | E_STRICT)
パラメータ値
Parameter | Description |
---|---|
errorhandler | Required. Specifies the name of the function to be run at errors |
E_ALL|E_STRICT | Optional. Specifies on which error report level the user-defined error will be shown. Default is "E_ALL" |
技術的な詳細
戻り値: | 以前に定義されたエラーハンドラを含む文字列 |
---|---|
PHPバージョン: | 4.0.1+ |
PHP変更ログ: | PHP 5.5:パラメータerrorhandlerがNULLを受け入れるよう になりましたPHP 5.2:$ php_errormsgにデータを入力するには、エラーハンドラがFALSEを返す必要があります |
PHPエラーリファレンス