(PHP 5, PHP 7)
set_exception_handler — Définit une fonction utilisateur de gestion d'exceptions
set_exception_handler() définit le gestionnaire d'exceptions
par défaut si une exception n'est pas attrapée avec un bloc
d'essai/d'attrape. L'exécution sera stoppée après l'appel à la
fonction exception_handler
.
exception_handler
Nom de la fonction à appeler lorsqu'une exception qui n'a pu être attrapée survient. Ce gestionnaire doit accepter un paramètre qui sera l'objet représentant l'exception qui vient d'être lancée. C'est le gestionnaire de signature avant PHP 7 :
Depuis PHP 7, la plupart des erreurs sont rapportées en émettant une exception de type Error, qui peut être attrapée par le gestionnaire. Les classes Error et Exception implémentent l'interface Throwable. Voici la signature du gestionnaire depuis PHP 7 :
NULL
peut être passé à la place, pour ré-initialiser ce gestionnaire
en son statut initial.
Notez que le fait de fournir explicitement le type
Exception pour le paramètre ex
dans votre fonction de rappel peut avoir des incidences dans la hiérarchie
des exceptions modifiées en PHP 7.
Retourne le nom du gestionnaire précédemment défini ou NULL
en cas d'erreur.
Si aucun gestionnaire n'a été précédemment défini, NULL
est également
retourné.
Version | Description |
---|---|
7.0.0 |
Le type du paramètre passé dans exception_handler
a changé, passant de Exception à Throwable
|
5.5.0 |
Précédemment, si NULL était passé, alors la fonction retournait
TRUE . Désormais, elle retourne le gestionnaire précédant, et ce,
depuis PHP 5.5.0.
|
Exemple #1 Exemple avec set_exception_handler()
<?php
function exception_handler($exception) {
echo "Exception non attrapée : " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
throw new Exception('Uncaught Exception');
echo "Non exécuté\n";
?>