Funkcija set_error_handler

Funkcija set_error_handler iestata lietotāja definētu kļūdu apstrādes funkciju. Pirmajā parametrā tiek padota callback-funkcija, kas tiks izsaukta, kad radīsies kļūda. Otro, neobligāto parametru, var izmantot, lai norādītu kļūdu tipus, kurus apstrādes funkcijai vajadzētu pārtvert.

Sintakse

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

Piemērs

Vienkāršs lietotāja definētas kļūdu apstrādes funkcijas piemērs:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Kļūda [$errno]: $errstr failā $errfile, rindā $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Koda izpildes rezultāts:

phpKļūda [8]: Nedefinēts mainīgais: undefinedVar failā /path/to/file.php, rindā 7

Piemērs

Tikai noteiktu kļūdu tipu apstrāde:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Brīdinājums pārtverts: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Izraisīs brīdinājumu
?>

Koda izpildes rezultāts:

phpBrīdinājums pārtverts: strpos() sagaida vismaz 2 parametrus, doti 0

Piemērs

Standarta kļūdu apstrādes funkcijas atjaunošana:

php<?php
  set_error_handler(null); // Atgriežas pie standarta apstrādes funkcijas
?>