Funkcija set_error_handler

Funkcija set_error_handler postavlja korisnički rukovalac greškama. U prvi parametar se prosleđuje callback-funkcija koja će biti pozvana kada se pojavi greška. Drugim neobaveznim parametrom se mogu navesti tipovi grešaka koje rukovalac treba da presretne.

Sintaksa

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

Primer

Jednostavan primer korisničkog rukovaoca greškama:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Greška [$errno]: $errstr u fajlu $errfile na liniji $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Rezultat izvršavanja koda:

phpGreška [8]: Nedefinisana promenljiva: undefinedVar u fajlu /path/to/file.php na liniji 7

Primer

Obrada samo određenih tipova grešaka:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Upozorenje uhvaćeno: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Izazvaće upozorenje
?>

Rezultat izvršavanja koda:

phpUpozorenje uhvaćeno: strpos() očekuje najmanje 2 parametra, 0 dato

Primer

Vraćanje na podrazumevani rukovalac greškama:

php<?php
  set_error_handler(null); // Vraćanje na podrazumevani rukovalac
?>