Функция 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('Тест');
?>
Кодни бажариш натижаси:
'Биринчи ишлов бериш: Тест'