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:

  1. 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.

  2. 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.

  3. 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.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *