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

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

Eksempel

Et enkelt eksempel på en brukerdefinert feilhåndterer:

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

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

Eksempel

Håndtering av kun spesifikke feiltyper:

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

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

Eksempel

Tilbakeføring til standard feilhåndterer:

php<?php
  set_error_handler(null); // Tilbakeføring til standard feilhåndterer
?>