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

Connected

ćwiczenie

Obsługa hierarchii wyjątków

Wcześniej zdefiniowano klasę Employee z metodą get_bonus(), która zgłasza wyjątek BonusError lub SalaryError w zależności od przekazanych parametrów. Wyjątek BonusError dziedziczy po wyjątku SalaryError. Jak dziedziczenie wyjątków wpływa na ich obsługę?

Klasa Employee jest już zdefiniowana. Minimalne wynagrodzenie wynosi 30000, a maksymalna wysokość premii to 5000.

Instrukcje 1/2

undefined XP
    1
    2

Pytanie

Poeksperymentuj z poniższym kodem

emp = Employee("Katze Rik", salary=50000)
try:
  emp.give_bonus(7000)
except SalaryError:
  print("SalaryError caught!")

try:
  emp.give_bonus(7000)
except BonusError:
  print("BonusError caught!")

try:
  emp.give_bonus(-100000)
except SalaryError:
  print("SalaryError caught again!")

try:
  emp.give_bonus(-100000)
except BonusError:
  print("BonusError caught again!")  

i wybierz zdanie, które jest PRAWDZIWE w kontekście obsługi nadrzędnych i podrzędnych klas wyjątków:

Możliwe odpowiedzi