1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Object-Oriented Programming in Python

Connected

cvičení

Zpracování hierarchií výjimek

V předchozím cvičení jsi definoval/a třídu Employee s metodou get_bonus(), která v závislosti na parametrech vyvolává výjimky BonusError a SalaryError. Přitom výjimka BonusError je odvozená od výjimky SalaryError. Jak dědičnost výjimek ovlivňuje jejich zpracování?

Třída Employee je už připravena. Minimální mzda je 30000 a maximální výše bonusu je 5000.

Pokyny 1/2

undefined XP
    1
    2

Otázka

Vyzkoušej si následující kód

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!")  

a vyber tvrzení, které PRAVDIVĚ popisuje zpracování nadřazených a podřazených tříd výjimek:

Možné odpovědi