set_exception_handler
Назначает функцию для исключений, которые никто не поймал.
Синтаксис
set_exception_handler(?callable $callback): ?callableПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $callback | ?callable | Функция, получающая объект `Throwable`. |
Возвращаемое значение
?callableПрежний обработчик или `null`.
Примеры
Общая страница ошибки:
<?php
// index.php
set_exception_handler(function (Throwable $e) {
error_log($e->getMessage() . ' in ' . $e->getFile() . ':' . $e->getLine());
http_response_code(500);
echo 'Something went wrong. Please try again later.';
});
throw new RuntimeException('Database is unavailable');Примечания
После вызова обработчика программа завершается. Подробности пишут в журнал, а посетителю показывают общую фразу.
См. также
- set_error_handler — Задаёт свою функцию для обработки предупреждений и замечаний PHP.
- Throwable — Общий интерфейс всего, что можно бросить и поймать.
- error_log — Записывает сообщение в журнал ошибок.
В учебнике
- Ошибки и отладка — Виды ошибок PHP, настройки показа ошибок, журнал, превращение предупреждений в исключения и приёмы отладки.