Функција set_error_handler

Функцијата set_error_handler поставува кориснички обработувач за грешки. Во првиот параметар се пренесува callback-функција, која ќе се повикува при појава на грешка. Вториот незадолжителен параметар може да се користи за да се наведат типовите на грешки кои обработувачот треба да ги пресними.

Синтакса

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

Пример

Прост пример за кориснички обработувач на грешки:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Грешка [$errno]: $errstr во $errfile на линија $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Резултат од извршувањето на кодот:

phpГрешка [8]: Недефинирана променлива: undefinedVar во /path/to/file.php на линија 7

Пример

Обработка само на одредени типови на грешки:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Преснимено предупредување: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Ќе предизвика предупредување
?>

Резултат од извршувањето на кодот:

phpПреснимено предупредување: strpos() очекува најмалку 2 параметри, дадени 0

Пример

Враќање на стандардниот обработувач за грешки:

php<?php
  set_error_handler(null); // Враќање на стандардниот обработувач
?>