Функција set_exception_handler
Функцијата set_exception_handler овозможува да се дефинира функција која ќе се повикува за обработка на нефатените исклучоци. Во параметарот се пренесува името на функцијата-обработувач или анонимна функција. Обработувачот го добива објектот на исклучокот како параметар.
Синтакса
set_exception_handler(callable $exception_handler): callable
Пример
Да поставиме едноставен обработувач на исклучоци:
<?php
function myExceptionHandler($exception) {
echo 'Фатен исклучок: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Нешто тргна наопаку!');
?>
Резултат од извршување на кодот:
'Фатен исклучок: Нешто тргна наопаку!'
Пример
Користење на анонимна функција како обработувач:
<?php
set_exception_handler(function($exception) {
echo 'Грешка: ' . $exception->getMessage();
});
throw new Exception('Критична грешка');
?>
Резултат од извршување на кодот:
'Грешка: Критична грешка'
Пример
Враќање на претходниот обработувач:
<?php
function firstHandler($exception) {
echo 'Прв обработувач: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Втор обработувач: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Го враќа firstHandler
throw new Exception('Тест');
?>
Резултат од извршување на кодот:
'Прв обработувач: Тест'