Функсияи 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('Санҷиш');
?>
Натиҷаи иҷрои рамз:
'Коркарди аввал: Санҷиш'