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
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Primer
Jednostavan primer korisničkog rukovaoca greškama:
<?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:
Greška [8]: Nedefinisana promenljiva: undefinedVar u fajlu /path/to/file.php na liniji 7
Primer
Obrada samo određenih tipova grešaka:
<?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:
Upozorenje uhvaćeno: strpos() očekuje najmanje 2 parametra, 0 dato
Primer
Vraćanje na podrazumevani rukovalac greškama:
<?php
set_error_handler(null); // Vraćanje na podrazumevani rukovalac
?>