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('Փորձարկում');
?>
Կոդի կատարման արդյունք.
'Առաջին մշակիչ. Փորձարկում'