(PHP 5, PHP 7, PHP 8)
set_exception_handler — Задаёт пользовательский обработчик исключений
Задаёт обработчик по умолчанию для случаев, когда исключение выброшено
вне блока try/catch. После вызова callback
выполнение будет остановлено.
callback
Функция, вызываемая при возникновении неперехваченного исключения. Эта функция-обработчик должна принимать один параметр, которым будет объект выброшенного исключения Throwable. И Error и Exception реализуют интерфейс Throwable. Сигнатура обработчика:
В качестве этого аргумента можно передать null
. В этом случае
обработчик вернётся к своему изначальному состоянию.
Возвращает ранее определённый обработчик исключений или null
в случае
ошибки. Если предыдущих обработчиков определено не было, то также
возвращается null
.
Пример #1 Пример использования set_exception_handler()
<?php
function exception_handler(Throwable $exception) {
echo "Неперехваченное исключение: " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
throw new Exception('Неперехваченное исключение');
echo "Не выполнено\n";
?>