Fonction set_exception_handler
La fonction set_exception_handler permet de définir une fonction qui sera appelée pour traiter les exceptions non capturées. Le paramètre passé est le nom d'une fonction de gestion ou une fonction anonyme. Le gestionnaire reçoit l'objet exception en tant que paramètre.
Syntaxe
set_exception_handler(callable $exception_handler): callable
Exemple
Définissons un gestionnaire d'exceptions simple :
<?php
function myExceptionHandler($exception) {
echo 'Exception attrapée : ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Quelque chose s\'est mal passé !');
?>
Résultat de l'exécution du code :
'Exception attrapée : Quelque chose s\'est mal passé !'
Exemple
Utilisation d'une fonction anonyme comme gestionnaire :
<?php
set_exception_handler(function($exception) {
echo 'Erreur : ' . $exception->getMessage();
});
throw new Exception('Erreur critique');
?>
Résultat de l'exécution du code :
'Erreur : Erreur critique'
Exemple
Restauration du gestionnaire précédent :
<?php
function firstHandler($exception) {
echo 'Premier gestionnaire : ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Deuxième gestionnaire : ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Restaure firstHandler
throw new Exception('Test');
?>
Résultat de l'exécution du code :
'Premier gestionnaire : Test'