- Korzystanie z metody die()
- Niestandardowa obsługa błędów
die ($wiadomość)Przykład:< /b>
// Kod PHP pokazujący domyślną obsługę błędów
$file
=
fopen
(
"engineer.txt"
,
"w"
);
?>
Uwaga.Uruchom powyższy kod, a brakuje pliku engineer.txt , a następnie zostanie wyświetlony błąd w czasie wykonywania.Błąd w czasie wykonywania:
Ostrzeżenie PHP: fopen (engineer.txt): nie udało się otworzyć strumienia: Odmowa uprawnień w /home/dac923dff0a2558b37ba742613273073.php w wierszu 2Aby zapobiec temu błędowi, użyj funkcji die(). Funkcja die() jest zaimplementowana poniżej:Przykład:
// kod PHP do sprawdzania błędów
// jeśli nie ma pliku
// następnie zamknij skrypt
jeśli
(!
file_exists
(
"engineer.txt"
)) {
umierać
(
" Brak pliku "
);
}
// jeśli plik jest obecny
// następnie kontynuuj
inaczej
{
$file
=
fopen
(
" inżynier.txt "
,
" w "
);
}
?>
Uwaga.Jeśli plik jest inżynierskim Brak pliku .txt, wyświetli dane wyjściowe.
ZakończPlik nie jest obecny
Niestandardowe programy obsługi błędów:Tworzenie niestandardowego obsługa błędów w PHP jest bardzo prosta. Utwórz funkcję, która może zostać wywołana, gdy wystąpi błąd w PHP.Składnia:error_function ($error_level, $error_message, $error_file, $error_line, $error_context)
Parametry:Ta funkcja przyjmuje pięć parametrów opisanych powyżej i opisanych poniżej:- $error_level: Jest to wymagany parametr i musi być liczbą całkowitą. Istnieją wstępnie zdefiniowane poziomy błędów.
- $error_message:Jest to wymagany parametr i jest to wiadomość, którą użytkownik chce wydrukować.
- $ error_file: jest opcjonalnym parametrem używanym do określenia pliku, w którym wystąpił błąd.
- $error_line:jest opcjonalnym parametrem używanym do określenia numeru wiersza, w którym wystąpił błąd wystąpił.
- $error_context:jest to parametr opcjonalny, który jest używany do określenia tablicy zawierającej każdą zmienną i jej wartość w przypadku wystąpienia błędu.
poziom_błędu:są to możliwe poziomy błędów, które są wymienione poniżej:- 1: .E_ERROR: krytyczny błąd wykonania został zatrzymany
- 2: E_OSTRZEŻENIE: nie- krytyczny błąd wykonania, wykonanie skryptu zatrzymane
- 4: E_PARSE: błąd w czasie kompilacji wygenerowany przez parser
- 8: E_NOT ICE: skrypt napotkał coś, co może być błędem
- 16: E_CORE_ERROR: błędy krytyczne, które wystąpiły podczas początkowego uruchomienia skryptu
- 32: E_CORE_WARNING: błędy niekrytyczne, które wystąpiły podczas początkowego uruchomienia skryptu
- 8191: E_ALL: wszystkie błędy i ostrzeżenia
funkcja set_error_handler():Po utworzeniu funkcji myerror() musisz zainstalować niestandardową procedurę obsługi błędów, ponieważ PHP normalnie ją obsługuje, ale jeśli użytkownik wykonuje niestandardową obsługę błędów, użytkownik powinien ustawić to zamiast argumentu i przekazać funkcję myerror jako ciąg.Przykład:
// Utwórz moją funkcję błędu, która wyświetla komunikat
// użytkownik
funkcja
mój błąd (
$error_no
,
$error_msg
) {
echo
"Błąd: [$error_no] $error_msg"
;
echo
"Teraz skrypt się zakończy"
;
// Jeśli wystąpi błąd, skrypt musi być zatrzymanym
die
();
}
// Ustawienie set_error_handler
set_error_handler (
"mój błąd"
);
$a
= 10;
$b
= 0;
// To będzie wygeneruj błąd
echo
(
$a
/
$b
) ;;
?>
Wyjście:Błąd: [2] Dzielenie b y zero Teraz Skrypt się zakończy
Wyjście:zawsze próbuj obsługiwać błędy przy użyciu niestandardowej obsługi błędów, ponieważ pokaże bardziej szczegółowy komunikat w zależności od użytkownika, co może być przydatne dla użytkownika. Jeśli błąd nie jest obsługiwany przez niestandardową obsługę błędów, to wystąpi błąd, wtedy skrypt zostanie domyślnie zatrzymany, ale jeśli obsłuży błąd z niestandardową obsługą błędów, może kontynuować skrypt po wyświetleniu komunikatu o błędzie.