Funktsioon set_error_handler

Funktsioon set_error_handler määrab kasutaja veatöötleja. Esimeseks parameetriks edastatakse callback-funktsioon, mida kutsutakse välja vea tekkimisel. Teise valikulise parameetrina saab määrata veatüübid, mida töötleja peaks püüdma.

Süntaks

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

Näide

Lihtne näide kasutaja veatöötlejast:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Viga [$errno]: $errstr failis $errfile real $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Koodi täitmise tulemus:

phpViga [8]: Undefined variable: undefinedVar in /path/to/file.php on line 7

Näide

Ainult kindlate veatüüpide töötlemine:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Hoiatus püütud: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Põhjustab hoiatus
?>

Koodi täitmise tulemus:

phpHoiatus püütud: strpos() expects at least 2 parameters, 0 given

Näide

Standardveatöötleja taastamine:

php<?php
  set_error_handler(null); // Tagasi standardsele töötlejale
?>