Funkce set_exception_handler
Funkce set_exception_handler umožňuje definovat funkci, která bude volána pro zpracování nechycených výjimek. Jako parametr se předává název funkce-handleru nebo anonymní funkce. Handler obdrží objekt výjimky jako parametr.
Syntaxe
set_exception_handler(callable $exception_handler): callable
Příklad
Nastavme jednoduchý handler výjimek:
<?php
function myExceptionHandler($exception) {
echo 'Chycená výjimka: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Něco se pokazilo!');
?>
Výsledek provedení kódu:
'Chycená výjimka: Něco se pokazilo!'
Příklad
Použití anonymní funkce jako handleru:
<?php
set_exception_handler(function($exception) {
echo 'Chyba: ' . $exception->getMessage();
});
throw new Exception('Kritická chyba');
?>
Výsledek provedení kódu:
'Chyba: Kritická chyba'
Příklad
Obnovení předchozího handleru:
<?php
function firstHandler($exception) {
echo 'První 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ýsledek provedení kódu:
'První handler: Test'