Fonction set_error_handler() en PHP
Exemple
Définir un gestionnaire d'erreurs utilisateur avec la fonction set_error_handler() puis déclencher une erreur (par trigger_error()):
<?php // Fonction de gestion des erreurs utilisateur définie function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Erreur personnalisée:</b> [$errno] $errstr<br>"; echo " Erreur à la ligne $errline dans $errfile<br>"; } // Définir la fonction de gestion des erreurs utilisateur set_error_handler("myErrorHandler"); $test=2; // Déclencher l'erreur if ($test>1) { trigger_error("Une erreur personnalisée a été déclenchée"); } ?>
La sortie du code ci-dessus est similaire à :
Erreur personnalisée : [1024] Une erreur personnalisée a été déclenchée Erreur à la ligne 14 dans C:\webfolder\test.php
Définition et utilisation
La fonction set_error_handler() définit le gestionnaire d'erreurs utilisateur personnalisé.
Commentaires :Si cette fonction est utilisée, elle contourne le gestionnaire d'erreurs standard PHP et, si nécessaire, le programme d'erreur utilisateur personnalisé est terminé par die().
Commentaires :Si une erreur se produit avant l'exécution du script (par exemple lors du téléversement de fichiers), le gestionnaire d'erreurs personnalisé ne sera pas appelé car il n'est pas encore enregistré à ce moment-là.
Syntaxe
set_error_handler(errorhandler,E_ALL|E_STRICT);
Paramètres | Description |
---|---|
errorhandler | Obligatoire. Définit le nom de la fonction de gestion des erreurs utilisateur. |
E_ALL|E_STRICT | Optionnel. Définit le niveau de rapport d'erreur utilisateur personnalisé à afficher. Par défaut, c'est "E_ALL". |
Détails techniques
Valeur de retour : | Chaîne contenant le gestionnaire d'erreurs précédemment défini. |
---|---|
Version PHP : | 4.0.1+ |
Journal des mises à jour PHP : |
PHP 5.5 : Paramètres errorhandler Accepte maintenant NULL PHP 5.2 : Le gestionnaire d'erreurs doit renvoyer FALSE pour afficher $php_errormsg. |