Wyjątki a inżynieria niezawodności (SRE)

Założenie: Pokażemy, jak obsługa wyjątków w PHP może pomóc w budowaniu bardziej niezawodnych aplikacji, zgodnie z zasadami inżynierii niezawodności (SRE).

Krok po kroku:

  1. Próba podzielenia przez zero: W PHP próba podzielenia przez zero generuje błąd. Zastosujemy blok `try…catch` aby go przechwycić.
  2. 
    try {
        $result = 10 / 0;
        echo "Wynik: " . $result;
    } catch (DivisionByZeroError $e) {
        echo "Wystąpił błąd: " . $e->getMessage();
    }
    				

    Ten kod próbuje podzielić 10 przez 0. Blok `catch` przechwytuje wyjątek `DivisionByZeroError` i wyświetla komunikat o błędzie, zapobiegając awarii aplikacji.

  3. Obsługa niestandardowych wyjątków: Możemy tworzyć własne wyjątki, aby lepiej zarządzać błędami w naszej aplikacji.
  4. 
    class InvalidInputException extends Exception {}
    
    function validateInput($input) {
        if ($input < 0) {
            throw new InvalidInputException("Wartość wejściowa musi być dodatnia.");
        }
        return $input;
    }
    
    try {
        $validatedInput = validateInput(-5);
        echo "Zwalidowana wartość: " . $validatedInput;
    } catch (InvalidInputException $e) {
        echo "Wystąpił błąd: " . $e->getMessage();
    }
    				

    Tutaj definiujemy klasę `InvalidInputException` dziedziczącą po klasie `Exception`. Funkcja `validateInput` rzuca ten wyjątek, jeśli wartość wejściowa jest ujemna. Blok `catch` go przechwytuje i wyświetla odpowiedni komunikat.

Ten przykład pokazuje podstawy obsługi wyjątków w PHP. Dalsza nauka obejmuje zagłębienie się w różne typy wyjątków, hierarchię wyjątków oraz zaawansowane techniki logowania i raportowania błędów, co jest kluczowe dla praktyk SRE.

Dodaj komentarz 0

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