Funkcja set_error_handler
Funkcja set_error_handler ustawia niestandardową obsługę błędów.
W pierwszym parametrze przekazywana jest funkcja callback, która będzie wywoływana przy wystąpieniu błędu.
Drugim opcjonalnym parametrem można określić typy błędów, które powinny być przechwytywane przez procedurę obsługi.
Składnia
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Przykład
Prosty przykład niestandardowej obsługi błędów:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Błąd [$errno]: $errstr w $errfile w linii $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
Wynik wykonania kodu:
Błąd [8]: Undefined variable: undefinedVar w /path/to/file.php w linii 7
Przykład
Obsługa tylko określonych typów błędów:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Warning captured: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Wywoła ostrzeżenie
?>
Wynik wykonania kodu:
Warning captured: strpos() expects at least 2 parameters, 0 given
Przykład
Przywrócenie standardowej obsługi błędów:
<?php
set_error_handler(null); // Powrót do standardowej obsługi błędów
?>