Wyjątki a zarządzanie incydentami
Założenie: Pokażemy, jak obsługa wyjątków w PHP pomaga w zarządzaniu incydentami i debugowaniu kodu.
Krok po kroku:
- Krok 1: Prosty przykład wyjątku.
try { $plik = fopen("plik_nieistniejacy.txt", "r"); if ($plik) { fclose($plik); } } catch (Exception $e) { echo "Wystąpił błąd: " . $e->getMessage(); }
Ten kod próbuje otworzyć plik, który może nie istnieć. Blok `try` zawiera kod, który może wygenerować wyjątek. Blok `catch` przechwytuje wyjątek i wyświetla komunikat o błędzie.
- Krok 2: Bardziej szczegółowa obsługa wyjątków.
try { // Kod, który może wygenerować wyjątek $dzielna = 0; $wynik = 10 / $dzielna; } catch (DivisionByZeroError $e) { echo "Próba dzielenia przez zero! " . $e->getMessage(); } catch (Exception $e) { echo "Wystąpił inny błąd: " . $e->getMessage(); }
Tutaj obsługujemy konkretny typ wyjątku `DivisionByZeroError`. Możemy też złapać inne wyjątki za pomocą ogólnego `Exception`.
- Krok 3: Rzuć własny wyjątek.
class MyException extends Exception {} function sprawdzWiek($wiek) { if ($wiek < 18) { throw new MyException("Osoby poniżej 18 roku życia nie mogą korzystać z tej funkcji."); } echo "Wiek poprawny."; } try { sprawdzWiek(15); } catch (MyException $e) { echo "Błąd: " . $e->getMessage(); }
Ten przykład pokazuje, jak stworzyć własny typ wyjątku i go użyć do obsługi specyficznych sytuacji w aplikacji.
Ten przykład pokazuje podstawy obsługi wyjątków w PHP. Dalsza nauka pozwoli Ci na bardziej zaawansowane zarządzanie błędami i tworzenie bardziej robustnych aplikacji.