Standardowe wyjątki PHP
Założenie: Pokażemy, jak korzystać ze standardowych wyjątków PHP w celu poprawnego obsługiwania błędów w kodzie.
Krok po kroku:
- Obsługa nieprawidłowych argumentów: Wyjątek
InvalidArgumentException
jest używany, gdy funkcja otrzyma nieprawidłowy argument.function sprawdzWiek(int $wiek) { if ($wiek < 0) { throw new InvalidArgumentException("Wiek nie może być ujemny!"); } echo "Wiek: " . $wiek; } try { sprawdzWiek(-5); } catch (InvalidArgumentException $e) { echo "Wyjątek: " . $e->getMessage(); }
Ten kod definiuje funkcję `sprawdzWiek`, która zgłasza wyjątek `InvalidArgumentException`, jeśli wiek jest ujemny. Blok `try…catch` przechwytuje wyjątek i wyświetla komunikat o błędzie.
- Obsługa błędów w czasie działania: Wyjątek
RuntimeException
jest używany do zgłaszania błędów, które wystąpiły w czasie działania programu.function podziel(int $a, int $b) { if ($b == 0) { throw new RuntimeException("Dzielenie przez zero!"); } return $a / $b; } try { echo podziel(10, 0); } catch (RuntimeException $e) { echo "Wyjątek: " . $e->getMessage(); }
Ten kod definiuje funkcję `podziel`, która zgłasza wyjątek `RuntimeException`, jeśli próbujemy dzielić przez zero.
- Obsługa błędów logicznych: Wyjątek
LogicException
jest używany do zgłaszania błędów logicznych w kodzie.function sprawdzStan(string $stan) { if ($stan !== "aktywny" && $stan !== "nieaktywny") { throw new LogicException("Nieprawidłowy stan!"); } echo "Stan: " . $stan; } try { sprawdzStan("zablokowany"); } catch (LogicException $e) { echo "Wyjątek: " . $e->getMessage(); }
Ten kod definiuje funkcję `sprawdzStan`, która zgłasza wyjątek `LogicException`, jeśli stan nie jest ani “aktywny”, ani “nieaktywny”.
Ten przykład pokazuje podstawowe zastosowanie standardowych wyjątków w PHP. Zachęcamy do dalszego zgłębiania tematu obsługi wyjątków, aby pisać bardziej solidny i odporny na błędy kod.