Funksioni set_error_handler

Funksioni set_error_handler vendos një trajtues të personalizuar për gabimet. Në parametrin e parë kalohet një funksion callback, i cili do të thirret kur ndodh një gabim. Me parametrin e dytë, jo të detyrueshëm, mund të përcaktohen llojet e gabimeve që trajtuesi duhet të kapë.

Sintaksa

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

Shembull

Një shembull i thjeshtë i një trajtuesi të personalizuar për gabimet:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Gabim [$errno]: $errstr në $errfile në rreshtin $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Rezultati i ekzekutimit të kodit:

phpGabim [8]: Undefined variable: undefinedVar në /path/to/file.php në rreshtin 7

Shembull

Trajtimi i vetëm të tipeve të caktuara të gabimeve:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Paralajmërim i kapur: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Do të shkaktojë një paralajmërim
?>

Rezultati i ekzekutimit të kodit:

phpParalajmërim i kapur: strpos() expects at least 2 parameters, 0 given

Shembull

Kthimi në trajtuesin standard të gabimeve:

php<?php
  set_error_handler(null); // Kthim në trajtuesin standard
?>