Funkcja set_error_handler() w PHP
Przykład
Ustaw zdefiniowaną przez użytkownika funkcję obsługi błędów za pomocą funkcji set_error_handler() i wywołaj błąd (za pomocą 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");
}
?>
Definicja i użycie
Funkcja set_error_handler() ustawia zdefiniowaną przez użytkownika funkcję obsługi błędów.
Uwaga: Standardowa procedura obsługi błędów PHP jest całkowicie pomijana, jeśli ta funkcja jest używana, a zdefiniowana przez użytkownika procedura obsługi błędów musi zakończyć działanie skryptu die(), jeśli to konieczne.
Uwaga: Jeśli błędy wystąpią przed wykonaniem skryptu, nie można użyć niestandardowej procedury obsługi błędów, ponieważ nie jest ona w tym czasie zarejestrowana.
Składnia
set_error_handler(errorhandler, E_ALL | E_STRICT)
Wartości parametrów
Parameter | Description |
---|---|
errorhandler | Required. Specifies the name of the function to be run at errors |
E_ALL|E_STRICT | Optional. Specifies on which error report level the user-defined error will be shown. Default is "E_ALL" |
Szczegóły techniczne
Wartość zwrotu: | Ciąg, który zawiera wcześniej zdefiniowaną procedurę obsługi błędów |
---|---|
Wersja PHP: | 4.0.1+ |
Dziennik zmian PHP: | PHP 5.5: Parametr obsługi błędów akceptuje teraz NULL PHP 5.2: Program obsługi błędów musi zwrócić FALSE, aby wypełnić $ php_errormsg |
Odniesienie do błędów PHP