1. Nauka
  2. /
  3. Kursy
  4. /
  5. Programowanie obiektowe w Pythonie

Connected

ćwiczenie

Przechwytywanie wyjątków

Zanim zaczniesz pisać własne niestandardowe wyjątki, upewnij się, że masz opanowane podstawy obsługi wyjątków.

W tym ćwiczeniu otrzymujesz funkcję invert_at_index(x, ind), która przyjmuje dwa argumenty: listę x oraz indeks ind, a następnie odwraca element listy pod tym indeksem. Na przykład invert_at_index([5,6,7], 1) zwraca 1/6, czyli 0.166666.

Uruchom kod w obecnej postaci i sprawdź wynik w konsoli. W tej funkcji znajdują się dwie ryzykowne operacje: po pierwsze, jeśli element, który próbujemy odwrócić, ma wartość 0, kod zgłosi wyjątek ZeroDivisionError. Po drugie, jeśli przekazany indeks wykracza poza zakres listy, kod zgłosi wyjątek IndexError. W obu przypadkach działanie skryptu zostanie przerwane, co może być niepożądane.

Instrukcje

100 XP

Użyj wzorca try - except - except (z dwoma blokami except) wewnątrz funkcji, aby przechwycić i obsłużyć dwa wyjątki w następujący sposób:

  • w bloku try wykonaj kod w obecnej postaci,
  • jeśli wystąpi ZeroDivisionError, wyświetl "Cannot divide by zero!",
  • jeśli wystąpi IndexError, wyświetl "Index out of range!"

Jeśli wszystko działa poprawnie, kod uruchomi się bez błędów, a wynik w konsoli będzie wyglądał tak:

0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None