Przykład
Ustawić funkcję obsługi błędu zdefiniowany przez użytkownika z set_error_handler() funkcji i wywołać błąd (with trigger_error() ):
<?php
// A user-defined error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "<b>Custom error:</b> [$errno] $errstr<br>";
echo " Error on line $errline in $errfile<br>";
}
// Set user-defined error handler function
set_error_handler("myErrorHandler");
$test=2;
// Trigger error
if ($test>1) {
trigger_error("A custom error has been triggered");
}
?>
Powyższy kod wyświetli coś takiego:
Custom error: [1024] A custom error has been triggered
Error on line 14 in C:\webfolder\test.php
Definicja i Wykorzystanie
set_error_handler() Funkcja określa funkcję obsługi błędu zdefiniowany przez użytkownika.
Note: Standard obsługi błędów PHP jest całkowicie pomijany, jeśli ta funkcja jest używana, a obsługi błędów zdefiniowane przez użytkownika muszą zakończyć skrypt, die() , jeśli to konieczne.
Note: W przypadku wystąpienia błędów, zanim skrypt jest wykonywany program obsługi niestandardowych błąd nie może być stosowane, ponieważ nie jest zarejestrowany w tym czasie.
Składnia
set_error_handler( errorhandler ,E_ALL|E_STRICT) ;
Parametr | Opis |
---|---|
errorhandler | Wymagany. Określa nazwę funkcji, aby uruchomić na błędy |
E_ALL|E_STRICT | Opcjonalny. Określa, na których poziom raport o błędzie zostanie pokazany błąd zdefiniowane przez użytkownika. Domyślnie jest to "E_ALL" |
Szczegóły techniczne
Zwracana wartość: | Ciąg znaków, który zawiera wcześniej zdefiniowanych procedur obsługi błędów |
---|---|
Wersja PHP: | 4.0.1+ |
PHP zmian: | PHP 5.5: Parametr ErrorHandler obecnie przyjmuje NULL PHP 5.2: obsługi błędów musi zwrócić FALSE zapełnić $ php_errormsg |
<PHP Error Reference