Wyjątki a skalowalność aplikacji
Założenie: Pokażemy, jak poprawnie obsługiwać wyjątki w PHP, aby aplikacja była bardziej skalowalna i odporna na błędy.
Krok po kroku:
- Krok 1: Prosty przykład wyjątku.
try { $dzielnik = 0; $wynik = 10 / $dzielnik; } catch (DivisionByZeroError $e) { echo "Błąd: Dzielenie przez zero! " . $e->getMessage(); }
Ten kod demonstruje podstawową obsługę wyjątku `DivisionByZeroError`. Blok `try` zawiera kod, który może wygenerować wyjątek. Blok `catch` łapie wyjątek i wyświetla komunikat o błędzie.
- Krok 2: Obsługa wielu wyjątków.
try { $plik = fopen("plik.txt", "r"); if ($plik === false) { throw new Exception("Nie można otworzyć pliku!"); } // ... dalsza obróbka pliku ... fclose($plik); } catch (DivisionByZeroError $e) { echo "Błąd: Dzielenie przez zero!"; } catch (Exception $e) { echo "Wystąpił błąd: " . $e->getMessage(); }
Tutaj obsługujemy dwa typy wyjątków: `DivisionByZeroError` i `Exception`. Możemy w ten sposób zapewnić bardziej szczegółową obsługę różnych rodzajów błędów.
- Krok 3: Tworzenie własnych wyjątków.
class MyCustomException extends Exception {} try { // ... jakiś kod ... if (/*warunek błędu*/) { throw new MyCustomException("Wystąpił niestandardowy błąd!"); } // ... dalszy kod ... } catch (MyCustomException $e) { // Specjalna obsługa naszego niestandardowego wyjątku echo "Niestandardowy błąd: " . $e->getMessage(); }
Tworzenie własnych klas wyjątków pozwala na lepszą organizację i zarządzanie obsługą błędów w aplikacji.
Ten przykład pokazuje podstawy obsługi wyjątków w PHP. Dalsza nauka obejmuje zagadnienia takie jak logowanie wyjątków, zaawansowane techniki obsługi błędów i projektowanie odpornych na błędy aplikacji.