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
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Příklad
Jednoduchý příklad uživatelské obslužné rutiny chyb:
<?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:
Error [8]: Undefined variable: undefinedVar in /path/to/file.php on line 7
Příklad
Zpracování pouze určitých typů chyb:
<?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:
Warning captured: strpos() expects at least 2 parameters, 0 given
Příklad
Návrat ke standardní obslužné rutině chyb:
<?php
set_error_handler(null); // Návrat ke standardní obslužné rutině
?>