Functie set_exception_handler
De functie set_exception_handler maakt het mogelijk om een functie te definiëren die wordt aangeroepen voor het afhandelen van niet-opgevangen uitzonderingen. De parameter ontvangt de naam van de handlerfunctie of een anonieme functie. De handler ontvangt het uitzonderingsobject als parameter.
Syntaxis
phpset_exception_handler(callable $exception_handler): callable
Voorbeeld
Laten we een eenvoudige uitzonderingshandler instellen:
php<?php
function myExceptionHandler($exception) {
echo 'Opgevangen uitzondering: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Er is iets fout gegaan!');
?>
Resultaat van de code-uitvoering:
php'Opgevangen uitzondering: Er is iets fout gegaan!'
Voorbeeld
Gebruik van een anonieme functie als handler:
php<?php
set_exception_handler(function($exception) {
echo 'Fout: ' . $exception->getMessage();
});
throw new Exception('Kritieke fout');
?>
Resultaat van de code-uitvoering:
php'Fout: Kritieke fout'
Voorbeeld
Herstellen van de vorige handler:
php<?php
function firstHandler($exception) {
echo 'Eerste handler: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Tweede handler: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Herstelt firstHandler
throw new Exception('Test');
?>
Resultaat van de code-uitvoering:
php'Eerste handler: Test'