Функция set_exception_handler
Функция set_exception_handler кармалбаган exceptions'дарды иштетүү үчүн чакырыла турган функцияны аныктоого мүмкүндүк берет. Параметр катары иштетүүчү функциянын аты же анонимдик функция берилет. Иштетүүчү функция параметр катары exception'дун объектин алат.
Синтаксис
set_exception_handler(callable $exception_handler): callable
Мисал
Жөнөкөй exception иштетүүчүсүн орнотолу:
<?php
function myExceptionHandler($exception) {
echo 'Кармалган exception: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Something went wrong!');
?>
Кодду иштетүүнүн натыйжасы:
'Кармалган exception: Something went wrong!'
Мисал
Иштетүүчү катары анонимдик функцияны колдонуу:
<?php
set_exception_handler(function($exception) {
echo 'Ката: ' . $exception->getMessage();
});
throw new Exception('Critical error');
?>
Кодду иштетүүнүн натыйжасы:
'Ката: Critical error'
Мисал
Мурунку иштетүүчүнү калыбына келтирүү:
<?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('Test');
?>
Кодду иштетүүнүн натыйжасы:
'Биринчи иштетүүчү: Test'