(PHP 5, PHP 7, PHP 8)
set_exception_handler — Устанавливает пользовательскую функцию обработчика исключений
Функция устанавливает пользовательскую функцию как обработчик исключений по умолчанию
для перехвата исключений, которые не отловили в блоке try-catch. Выполнение скрипта остановится
после вызова callback
-функции.
callback
Функция, которую требуется вызвать, когда возникнет неперехваченное исключение. В функции-обработчике определяют один параметр с типом Throwable, в который придёт объект выброшенного исключения — Error или Exception, которые реализуют интерфейс Throwable. Сигнатура обработчика:
При передаче вместо callback-функции значения 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";
?>