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('Тест');
?>
Кодты орындау нәтижесі:
'Бірінші өңдегіш: Тест'