Functie set_error_handler

De functie set_error_handler stelt een aangepaste fouthandler in. Als eerste parameter wordt een callback-functie meegegeven, die wordt aangeroepen wanneer een fout optreedt. Met de tweede optionele parameter kunnen de soorten fouten worden opgegeven die de handler moet onderscheppen.

Syntaxis

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

Voorbeeld

Een eenvoudig voorbeeld van een aangepaste fouthandler:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Fout [$errno]: $errstr in $errfile op regel $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Resultaat van de code-uitvoering:

phpFout [8]: Undefined variable: undefinedVar in /pad/naar/bestand.php op regel 7

Voorbeeld

Alleen bepaalde soorten fouten afhandelen:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Waarschuwing onderschept: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Zal een waarschuwing veroorzaken
?>

Resultaat van de code-uitvoering:

phpWaarschuwing onderschept: strpos() expects at least 2 parameters, 0 given

Voorbeeld

Terugkeren naar de standaard fouthandler:

php<?php
  set_error_handler(null); // Terugkeren naar de standaard handler
?>