Dobre praktyki obsługi wyjątków
Założenie: Pokażemy, jak poprawnie obsługiwać wyjątki w PHP, używając specyficznych typów wyjątków dla różnych rodzajów błędów.
Krok po kroku:
- Próba otwarcia pliku, który nie istnieje:
try { $file = fopen("plik_którego_nie_ma.txt", "r"); if ($file) { fclose($file); } } catch (Exception $e) { echo "Wystąpił błąd: " . $e->getMessage(); }
Ten kod próbuje otworzyć plik. Jeśli plik nie istnieje, zostanie wygenerowany wyjątek, który zostanie przechwycony przez blok `catch`.
- Obsługa specyficznego wyjątku:
try { $file = fopen("plik_którego_nie_ma.txt", "r"); if ($file) { fclose($file); } } catch (FileNotFoundException $e) { echo "Plik nie został znaleziony: " . $e->getMessage(); } catch (Exception $e) { echo "Wystąpił inny błąd: " . $e->getMessage(); }
Tutaj używamy `FileNotFoundException`, co pozwala na bardziej precyzyjną obsługę błędu. Jeśli wystąpi inny błąd, zostanie przechwycony przez ogólny blok `catch (Exception $e)`.
- Rzuć własny wyjątek:
class MyCustomException extends Exception {} function sprawdzWiek($wiek) { if ($wiek < 0) { throw new MyCustomException("Wiek nie może być ujemny!"); } echo "Wiek poprawny: " . $wiek; } try { sprawdzWiek(-5); } catch (MyCustomException $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 kodzie.
Ten przykład pokazuje podstawy obsługi wyjątków w PHP. Zachęcamy do dalszego zgłębiania tematu, aby lepiej zrozumieć, jak radzić sobie z błędami w aplikacjach.