Funksjonen set_error_handler
Funksjonen set_error_handler setter en brukerdefinert feilhåndterer.
I den første parameteren sendes en callback-funksjon som vil bli kalt når en feil oppstår.
Den andre valgfrie parameteren kan brukes til å spesifisere hvilke feiltyper feilhåndtereren skal fange.
Syntaks
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Eksempel
Et enkelt eksempel på en brukerdefinert feilhåndterer:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Feil [$errno]: $errstr i $errfile på linje $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
Resultat av kjøring:
Feil [8]: Undefined variable: undefinedVar i /path/to/file.php på linje 7
Eksempel
Håndtering av kun spesifikke feiltyper:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Advarsel fanget: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Vil forårsake en advarsel
?>
Resultat av kjøring:
Advarsel fanget: strpos() expects at least 2 parameters, 0 given
Eksempel
Tilbakeføring til standard feilhåndterer:
<?php
set_error_handler(null); // Tilbakeføring til standard feilhåndterer
?>