Funktionen set_error_handler

Funktionen set_error_handler etablerer en brugerdefineret fejlhåndterer. Den første parameter er en callback-funktion, der vil blive kaldt, når en fejl opstår. Den anden, valgfrie parameter kan bruges til at specificere hvilke fejltyper, håndtereren skal fange.

Syntaks

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

Eksempel

Et simpelt eksempel på en brugerdefineret fejlhåndterer:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Fejl [$errno]: $errstr i $errfile på linje $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Resultat af kodekørsel:

phpFejl [8]: Undefined variable: undefinedVar i /path/to/file.php på linje 7

Eksempel

Håndtering af kun bestemte fejltyper:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Advarsel fanget: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Vil forårsage en advarsel
?>

Resultat af kodekørsel:

phpAdvarsel fanget: strpos() expects at least 2 parameters, 0 given

Eksempel

Gendannelse af standard fejlhåndterer:

php<?php
  set_error_handler(null); // Gendan standard fejlhåndterer
?>