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
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Eksempel
Et simpelt eksempel på en brugerdefineret fejlhåndterer:
<?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:
Fejl [8]: Undefined variable: undefinedVar i /path/to/file.php på linje 7
Eksempel
Håndtering af kun bestemte fejltyper:
<?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:
Advarsel fanget: strpos() expects at least 2 parameters, 0 given
Eksempel
Gendannelse af standard fejlhåndterer:
<?php
set_error_handler(null); // Gendan standard fejlhåndterer
?>