Wyjątki a code review

Założenie: Pokażemy, jak prawidłowo obsługiwać wyjątki w PHP i dlaczego jest to ważne podczas code review.

Krok po kroku:

  1. Krok 1: Prosty przykład bez obsługi wyjątków.
    
    $plik = fopen("plik.txt", "r");
    if ($plik) {
        $zawartosc = fread($plik, filesize("plik.txt"));
        fclose($plik);
        echo $zawartosc;
    } else {
        echo "Błąd otwarcia pliku!";
    }
    				

    Ten kod nie obsługuje sytuacji, gdy plik “plik.txt” nie istnieje. W takiej sytuacji funkcja `fopen` zwróci `false`, a kod wyświetli jedynie komunikat o błędzie. Brak szczegółowych informacji o błędzie utrudnia debugowanie.

  2. Krok 2: Obsługa wyjątków za pomocą `try…catch`.
    
    try {
        $plik = fopen("plik.txt", "r");
        if ($plik) {
            $zawartosc = fread($plik, filesize("plik.txt"));
            fclose($plik);
            echo $zawartosc;
        } else {
            throw new Exception("Błąd otwarcia pliku!");
        }
    } catch (Exception $e) {
        echo "Wystąpił błąd: " . $e->getMessage();
    }
    				

    Teraz, jeśli wystąpi błąd (np. plik nie istnieje), zostanie wyrzucony wyjątek `Exception`, który zostanie przechwycony przez blok `catch`. Dzięki temu otrzymujemy bardziej szczegółowy komunikat o błędzie.

  3. Krok 3: Bardziej szczegółowa obsługa wyjątków.
    
    try {
        $plik = fopen("plik.txt", "r");
        if (!$plik) {
            throw new FileNotFoundException("Plik 'plik.txt' nie został znaleziony.");
        }
        $zawartosc = fread($plik, filesize("plik.txt"));
        fclose($plik);
        echo $zawartosc;
    } catch (FileNotFoundException $e) {
        echo "Błąd: " . $e->getMessage() . " Sprawdź ścieżkę do pliku.";
    } catch (Exception $e) {
        echo "Wystąpił nieoczekiwany błąd: " . $e->getMessage();
    }
    				

    W tym przykładzie używamy własnego wyjątków `FileNotFoundException`, co pozwala na bardziej precyzyjną obsługę konkretnych błędów.

Podsumowanie: Ten przykład pokazuje podstawy obsługi wyjątków w PHP. Prawidłowe ich stosowanie jest kluczowe dla tworzenia stabilnego i łatwego w utrzymaniu kodu. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi typami wyjątków.

Dodaj komentarz 0

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