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

phpset_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);

Exemple

Un exemple simple de gestionnaire d'erreurs personnalisé :

php<?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 :

phpErreur [8]: Undefined variable: undefinedVar dans /path/to/file.php à la ligne 7

Exemple

Gestion uniquement de certains types d'erreurs :

php<?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 :

phpAvertissement capturé : strpos() expects at least 2 parameters, 0 given

Exemple

Retour au gestionnaire d'erreurs standard :

php<?php
  set_error_handler(null); // Retour au gestionnaire standard
?>