(PHP 8 >= 8.5.0)
get_exception_handler — Получает пользовательскую функцию обработчика исключений
Функция возвращает текущую функцию обработчика исключений, если такую функцию определили.
У этой функции нет параметров.
Функция возвращает текущий обработчик исключений, если такой определили в коде,
или значение null
, если за текущую обработку исключений отвечает встроенная функция.
Функция возвращает непосредственно ту callback-функцию, которую передали в функцию set_exception_handler(), когда устанавливали пользовательский обработчик.
Пример #1 Пример получения пользовательского обработчика исключений функцией get_exception_handler()
<?php
$handler = function (Throwable $ex) {
echo "Исключение: " . $ex::class . ": " . $ex->getMessage() . "\n";
};
var_dump(get_exception_handler()); // NULL
set_exception_handler($handler);
var_dump(get_exception_handler() === $handler); // bool(true)
?>
До PHP 8.5.0 действие функции заменяет следующий полифил:
<?php
if (!function_exists('get_exception_handler')) {
function noop_exception_handler() {}
function get_exception_handler(): ?callable
{
$handler = set_exception_handler('noop_exception_handler');
restore_exception_handler();
return $handler;
}
}
?>