ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
376 of 410 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Функция set_exception_handler

Функция set_exception_handler позволяет определить функцию, которая будет вызываться для обработки не пойманных исключений. В параметр передается имя функции-обработчика или анонимная функция. Обработчик получает объект исключения в качестве параметра.

Синтаксис

set_exception_handler(callable $exception_handler): callable

Пример

Установим простой обработчик исключений:

<?php function myExceptionHandler($exception) { echo 'Caught exception: ' . $exception->getMessage(); } set_exception_handler('myExceptionHandler'); throw new Exception('Something went wrong!'); ?>

Результат выполнения кода:

'Caught exception: Something went wrong!'

Пример

Использование анонимной функции в качестве обработчика:

<?php set_exception_handler(function($exception) { echo 'Error: ' . $exception->getMessage(); }); throw new Exception('Critical error'); ?>

Результат выполнения кода:

'Error: Critical error'

Пример

Восстановление предыдущего обработчика:

<?php function firstHandler($exception) { echo 'First handler: ' . $exception->getMessage(); } function secondHandler($exception) { echo 'Second handler: ' . $exception->getMessage(); } set_exception_handler('firstHandler'); $old_handler = set_exception_handler('secondHandler'); restore_exception_handler(); // Восстанавливает firstHandler throw new Exception('Test'); ?>

Результат выполнения кода:

'First handler: Test'
byenru