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
set_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
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:
Kļūda [8]: Nedefinēts mainīgais: undefinedVar failā /path/to/file.php, rindā 7
Piemērs
Tikai noteiktu kļūdu tipu apstrāde:
<?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:
Brīdinājums pārtverts: strpos() sagaida vismaz 2 parametrus, doti 0
Piemērs
Standarta kļūdu apstrādes funkcijas atjaunošana:
<?php
set_error_handler(null); // Atgriežas pie standarta apstrādes funkcijas
?>