1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Python によるオブジェクト指向プログラミング

Connected

Bài tập

例外階層の扱い方

以前に、パラメータに応じて BonusError と SalaryError を送出する get_bonus() メソッドを持つ Employee クラスを定義しました。ただし、BonusError 例外は SalaryError 例外を継承していました。例外の継承は、例外処理にどのような影響を与えるのでしょうか?

Employee クラスは用意されています。最小給与は 30000、最大ボーナス額は 5000 です。

Hướng dẫn 1/2

undefined XP
    1
    2

Câu hỏi

次のコードで試してみてください。

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

そして、親/子の例外クラスの扱いについて、正しい記述を選んでください。

Các phương án trả lời