Obsługa wyjątków w Python

Python umożliwia przechwytywanie i obsługę błędów (wyjątków) w czasie działania programu, co pozwala uniknąć nagłego zakończenia programu i reagować w odpowiedni sposób.


1. Co to jest wyjątek?

  • Wyjątek to sytuacja, która przerywa normalny przebieg programu.
  • Przykłady: dzielenie przez zero, brak pliku, błędny typ danych.

2. Podstawowa obsługa wyjątków – try / except

  • Blok try zawiera kod, który może wygenerować wyjątek.
  • Blok except przechwytuje wyjątek i obsługuje go.
  • Program kontynuuje działanie po obsłużeniu wyjątku.

3. Obsługa wielu wyjątków

  • Można przechwytywać różne typy wyjątków w osobnych blokach except:

4. Obsługa wielu wyjątków jednocześnie

  • as e pozwala uzyskać informacje o wyjątku.

5. Blok else

  • Kod w bloku else wykonywany jest, jeśli nie wystąpił żaden wyjątek:

6. Blok finally

  • Kod w bloku finally zawsze zostanie wykonany, niezależnie od tego, czy wystąpił wyjątek.
  • Przydatne do zamykania plików, połączeń lub sprzątania zasobów:
  • Można używać finally bez except.

7. Rzucanie własnych wyjątków – raise

  • Można generować wyjątki w programie:
  • Rzucanie wyjątków umożliwia kontrolę logiki programu w sytuacjach nieprawidłowych danych.

8. Tworzenie własnych klas wyjątków

  • Można definiować własne typy wyjątków dziedzicząc po klasie Exception:
  • Pozwala na bardziej czytelną obsługę specyficznych błędów w aplikacjach.

9. Obsługa wyjątków a dobre praktyki

  • Obsługuj tylko te wyjątki, które potrafisz przewidzieć – unikaj ogólnych except: bez określenia typu.
  • Używaj as e, aby logować szczegóły błędu.
  • Blok finally jest idealny do zwalniania zasobów (pliki, połączenia).
  • Rzucaj własne wyjątki dla czytelności i kontroli przepływu programu.
  • Unikaj pustych bloków except: – mogą maskować błędy.

10. Przykłady praktyczne

10.1. Bezpieczny odczyt liczby

10.2. Obsługa plików

10.3. Własny wyjątek