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.