Fonction set_error_handler
La fonction set_error_handler définit un gestionnaire d'erreurs personnalisé.
Le premier paramètre est une fonction de rappel qui sera appelée lorsqu'une erreur se produit.
Le deuxième paramètre optionnel permet de spécifier les types d'erreurs que le gestionnaire doit intercepter.
Syntaxe
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Exemple
Un exemple simple de gestionnaire d'erreurs personnalisé :
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Erreur [$errno]: $errstr dans $errfile à la ligne $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
Résultat de l'exécution du code :
Erreur [8]: Undefined variable: undefinedVar dans /path/to/file.php à la ligne 7
Exemple
Gestion uniquement de certains types d'erreurs :
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Avertissement capturé : $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Générera un avertissement
?>
Résultat de l'exécution du code :
Avertissement capturé : strpos() expects at least 2 parameters, 0 given
Exemple
Retour au gestionnaire d'erreurs standard :
<?php
set_error_handler(null); // Retour au gestionnaire standard
?>