Funkcia set_error_handler

Funkcia set_error_handler nastavuje používateľský handler chýb. Do prvého parametra sa odovzdáva callback funkcia, ktorá sa bude volať pri vzniku chyby. Druhým voliteľným parametrom je možné uviesť typy chýb, ktoré má handler zachytávať.

Syntax

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

Príklad

Jednoduchý príklad používateľského handlera chýb:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Chyba [$errno]: $errstr v $errfile na riadku $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Výsledok vykonania kódu:

phpChyba [8]: Nedefinovaná premenná: undefinedVar v /path/to/file.php na riadku 7

Príklad

Spracovanie len určitých typov chýb:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Varovanie zachytené: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Spôsobí varovanie
?>

Výsledok vykonania kódu:

phpVarovanie zachytené: strpos() očakáva aspoň 2 parametre, 0 zadaných

Príklad

Návrat k štandardnému handleru chýb:

php<?php
  set_error_handler(null); // Návrat k štandardnému handleru
?>