Funkcia set_exception_handler
Funkcia set_exception_handler umožňuje definovať funkciu, ktorá bude volaná pre spracovanie neodchytých výnimiek. Do parametra sa odovzdáva názov funkcie-handlera alebo anonymná funkcia. Handler dostáva objekt výnimky ako parameter.
Syntax
set_exception_handler(callable $exception_handler): callable
Príklad
Nastavme jednoduchý handler výnimiek:
<?php
function myExceptionHandler($exception) {
echo 'Odchytnutá výnimka: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Niečo sa pokazilo!');
?>
Výsledok vykonania kódu:
'Odchytnutá výnimka: Niečo sa pokazilo!'
Príklad
Použitie anonymnej funkcie ako handlera:
<?php
set_exception_handler(function($exception) {
echo 'Chyba: ' . $exception->getMessage();
});
throw new Exception('Kritická chyba');
?>
Výsledok vykonania kódu:
'Chyba: Kritická chyba'
Príklad
Obnovenie predchádzajúceho handlera:
<?php
function firstHandler($exception) {
echo 'Prvý handler: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Druhý handler: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Obnoví firstHandler
throw new Exception('Test');
?>
Výsledok vykonania kódu:
'Prvý handler: Test'