Funkce set_error_handler

Funkce set_error_handler nastavuje uživatelskou obslužnou rutinu chyb. Do prvního parametru se předává callback funkce, která bude volána při výskytu chyby. Druhým volitelným parametrem lze určit typy chyb, které má obslužná rutina zachytávat.

Syntaxe

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

Příklad

Jednoduchý příklad uživatelské obslužné rutiny chyb:

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

Výsledek provedení kódu:

phpError [8]: Undefined variable: undefinedVar in /path/to/file.php on line 7

Příklad

Zpracování pouze určitých typů chyb:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Warning captured: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Způsobí varování
?>

Výsledek provedení kódu:

phpWarning captured: strpos() expects at least 2 parameters, 0 given

Příklad

Návrat ke standardní obslužné rutině chyb:

php<?php
  set_error_handler(null); // Návrat ke standardní obslužné rutině
?>