set_exception_handler funksiyasi
set_exception_handler funksiyasi ushlanmagan istisnolar uchun chaqiriladigan funksiyani belgilash imkonini beradi. Parametr sifatida qayta ishlovchi funksiya nomi yoki anonim funksiya uzatiladi. Qayta ishlovchi parametr sifatida istisno ob'ektini oladi.
Sintaksis
set_exception_handler(callable $exception_handler): callable
Misol
Oddiy istisnolar qayta ishlovchisini o'rnatamiz:
<?php
function myExceptionHandler($exception) {
echo 'Ushlangan istisno: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Nimadir noto‘g‘ri ketdi!');
?>
Kodni bajarish natijasi:
'Ushlangan istisno: Nimadir noto‘g‘ri ketdi!'
Misol
Qayta ishlovchi sifatida anonim funksiyadan foydalanish:
<?php
set_exception_handler(function($exception) {
echo 'Xato: ' . $exception->getMessage();
});
throw new Exception('Jiddiy xato');
?>
Kodni bajarish natijasi:
'Xato: Jiddiy xato'
Misol
Oldingi qayta ishlovchini tiklash:
<?php
function firstHandler($exception) {
echo 'Birinchi qayta ishlovchi: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Ikkinchi qayta ishlovchi: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // firstHandler ni tiklaydi
throw new Exception('Test');
?>
Kodni bajarish natijasi:
'Birinchi qayta ishlovchi: Test'