Функция 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: обработчик ошибок должен возвращать FALSE для заполнения $php_errormsg |
Справочник по ошибкам PHP