Podstawy obsługi wyjątków
Założenie: Nauczymy się obsługiwać proste wyjątki w PHP, aby zapobiec awaryjnemu zakończeniu skryptu.
Krok po kroku:
- Próba podzielenia przez zero: Spróbujmy wykonać dzielenie przez zero, co w PHP wygeneruje wyjątek.
- Obsługa wyjątku za pomocą `try…catch` : Użyjemy bloku `try…catch` aby przechwycić wyjątek i obsłużyć go w sposób kontrolowany.
- Różne typy wyjątków: Możemy obsłużyć różne typy wyjątków w osobnych blokach `catch`.
$result = 10 / 0;
Ten kod spowoduje błąd i zatrzymanie skryptu.
try {
$result = 10 / 0;
} catch (DivisionByZeroError $e) {
echo "Wystąpił błąd: " . $e->getMessage();
}
Blok `try` zawiera kod, który może wygenerować wyjątek. Jeżeli wystąpi wyjątek typu `DivisionByZeroError`, zostanie on przechwycony przez blok `catch` i wyświetlony komunikat o błędzie.
try {
$file = fopen("nonexistent_file.txt", "r");
// ... dalszy kod ...
} catch (DivisionByZeroError $e) {
echo "Błąd dzielenia przez zero: " . $e->getMessage();
} catch (FileNotFoundException $e) {
echo "Plik nie został znaleziony: " . $e->getMessage();
} catch (Exception $e) { //Ogólny wyjątek
echo "Wystąpił nieoczekiwany błąd: " . $e->getMessage();
}
Ten przykład pokazuje obsługę `DivisionByZeroError` i `FileNotFoundException`. `Exception` jest klasą bazową dla większości wyjątków, więc ten blok `catch` przechwyci wszystkie nieobsłużone wcześniej wyjątki.
Ten przykład pokazuje podstawowe zasady obsługi wyjątków w PHP. Umożliwia to tworzenie bardziej odpornego i stabilnego kodu, który radzi sobie z błędami w sposób kontrolowany, zapobiegając awaryjnemu zakończeniu skryptu.