A set_error_handler függvény

A set_error_handler függvény egy egyéni hibakezelőt állít be. Az első paraméterben egy callback függvényt kell átadni, amely a hiba bekövetkeztekor fog meghívódni. A második, opcionális paraméterben megadhatók azon hibatípusok, amelyeket a kezelőnek el kell kapnia.

Szintaxis

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

Példa

Egy egyszerű példa egy egyéni hibakezelőre:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Hiba [$errno]: $errstr a $errfile fájlban a $errline sorban";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

A kód végrehajtásának eredménye:

phpHiba [8]: Undefined variable: undefinedVar a /path/to/file.php fájlban a 7 sorban

Példa

Csak bizonyos típusú hibák kezelése:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Elkapott figyelmeztetés: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Figyelmeztetést fog okozni
?>

A kód végrehajtásának eredménye:

phpElkapott figyelmeztetés: strpos() expects at least 2 parameters, 0 given

Példa

Alapértelmezett hibakezelő visszaállítása:

php<?php
  set_error_handler(null); // Visszatérés az alapértelmezett hibakezelőhöz
?>