Funktionen set_exception_handler
Funktionen set_exception_handler tillader dig at definere en funktion, der vil blive kaldt for at håndtere ikke-fangede undtagelser. Parameteren modtager enten navnet på en håndteringsfunktion eller en anonym funktion. Håndtereren modtager undtagelsesobjektet som en parameter.
Syntaks
set_exception_handler(callable $exception_handler): callable
Eksempel
Lad os sætte en simpel undtagelseshåndterer:
<?php
function myExceptionHandler($exception) {
echo 'Fangede undtagelse: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Noget gik galt!');
?>
Resultat af kodeudførelse:
'Fangede undtagelse: Noget gik galt!'
Eksempel
Brug af anonym funktion som håndterer:
<?php
set_exception_handler(function($exception) {
echo 'Fejl: ' . $exception->getMessage();
});
throw new Exception('Kritisk fejl');
?>
Resultat af kodeudførelse:
'Fejl: Kritisk fejl'
Eksempel
Gendannelse af forrige håndterer:
<?php
function firstHandler($exception) {
echo 'Første håndterer: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Anden håndterer: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Gendanner firstHandler
throw new Exception('Test');
?>
Resultat af kodeudførelse:
'Første håndterer: Test'