Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник PHP

set_error_handler

Задаёт свою функцию для обработки предупреждений и замечаний PHP.

Синтаксис

set_error_handler(?callable $callback, int $error_levels = E_ALL): ?callable

Параметры

ПараметрТипОписание
$callback?callableФункция, которая получает уровень ошибки, сообщение, файл и строку.
$error_levelsintНеобязательный. Какие уровни ошибок обрабатывать.

Возвращаемое значение

?callableПредыдущий обработчик или `null`.

Примеры

Превращение предупреждения в исключение:

<?php
 
set_error_handler(function (int $level, string $message) {
    throw new ErrorException($message);
});
 
try {
    echo $undefined;
} catch (ErrorException $error) {
    echo 'Caught: ', $error->getMessage();
}

Результат:

Caught: Undefined variable $undefined

Примечания

Фатальные ошибки этим обработчиком не перехватываются. Непойманные исключения обрабатывает set_exception_handler().

См. также

  • error_log — Записывает сообщение в журнал ошибок.
  • Exception — Базовый класс исключений.

В учебнике

  • Ошибки и отладка — Виды ошибок PHP, настройки показа ошибок, журнал, превращение предупреждений в исключения и приёмы отладки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.