Wyjątki a mentorowanie
Założenie: Pokażemy, jak obsłużyć potencjalny błąd dzielenia przez zero za pomocą wyjątków w PHP, aby zapobiec awarii skryptu i przekazać użytkownikowi informację o błędzie.
Krok po kroku:
- Próba dzielenia przez zero bez obsługi wyjątków:
$liczba1 = 10; $liczba2 = 0; $wynik = $liczba1 / $liczba2; echo "Wynik: " . $wynik;
Ten kod spowoduje błąd fatalny i zatrzymanie skryptu.
- Obsługa wyjątków za pomocą bloku `try…catch`:
try { $liczba1 = 10; $liczba2 = 0; $wynik = $liczba1 / $liczba2; echo "Wynik: " . $wynik; } catch (DivisionByZeroError $e) { echo "Błąd: Dzielenie przez zero! " . $e->getMessage(); }
Blok `try` zawiera kod, który może wygenerować wyjątek. Blok `catch` przechwytuje wyjątek typu `DivisionByZeroError` i wyświetla komunikat o błędzie.
- Rzuć własny wyjątek:
function dziel($liczba1, $liczba2) { if ($liczba2 == 0) { throw new Exception("Nie można dzielić przez zero!"); } return $liczba1 / $liczba2; } try { $wynik = dziel(10, 0); echo "Wynik: " . $wynik; } catch (Exception $e) { echo "Błąd: " . $e->getMessage(); }
Funkcja `dziel` rzuca wyjątek `Exception`, jeśli `$liczba2` jest równe zero.
Ten przykład pokazuje podstawy obsługi wyjątków w PHP. Dalsza nauka obejmuje różne typy wyjątków, tworzenie własnych klas wyjątków i zaawansowane techniki obsługi błędów.