Wyjątki a monitorowanie aplikacji
Założenie: Pokażemy, jak obsłużyć wyjątki w PHP, aby zapobiec awariom aplikacji i umożliwić jej prawidłowe działanie nawet w przypadku błędów.
Krok po kroku:
- Krok 1: Generowanie wyjątku. Wygenerujemy prosty wyjątek dzielenia przez zero.
- Krok 2: Obsługa różnych typów wyjątków. Możemy obsłużyć różne typy wyjątków w osobnych blokach
catch
. - Krok 3: Raportowanie wyjątków. Możemy zapisywać informacje o wyjątkach do logu, aby ułatwić debugowanie.
try {
$result = 10 / 0;
} catch (DivisionByZeroError $e) {
echo "Wystąpił błąd: " . $e->getMessage();
}
Ten kod próbuje podzielić 10 przez 0. try...catch
blokuje potencjalny błąd. Jeśli wystąpi DivisionByZeroError
, zostanie wyświetlony komunikat o błędzie.
try {
$file = fopen("nonexistent_file.txt", "r");
if ($file === false) {
throw new Exception("Nie można otworzyć pliku.");
}
fclose($file);
} catch (DivisionByZeroError $e) {
echo "Błąd dzielenia przez zero: " . $e->getMessage();
} catch (Exception $e) {
echo "Wystąpił inny błąd: " . $e->getMessage();
}
Ten przykład pokazuje obsługę DivisionByZeroError
i ogólnego wyjątku Exception
. To pozwala na bardziej precyzyjne reagowanie na różne rodzaje błędów.
try {
// ... jakiś kod ...
} catch (Exception $e) {
error_log("Wystąpił wyjątek: " . $e->getMessage() . " w pliku: " . $e->getFile() . " w linii: " . $e->getLine());
}
Funkcja error_log()
zapisuje informacje o błędzie do logu serwera. Zawiera ona komunikat o błędzie, plik i linię, w której wystąpił.
Ten przykład pokazuje podstawy obsługi wyjątków w PHP. Dalsza nauka obejmuje zagadnienia takie jak tworzenie własnych klas wyjątków i zaawansowane techniki monitorowania aplikacji.