Власні винятки
Вам не обов'язково покладатися лише на вбудовані винятки на кшталт IndexError: ви можете визначати власні винятки, специфічні для вашого застосунку. Також можна вибудовувати ієрархії винятків. Щоб визначити виняток, достатньо оголосити клас, успадкований від вбудованого класу Exception або одного з його підкласів.
У розділі 1 ви визначили клас Employee і використовували виклики print та значення за замовчуванням, щоб обробляти помилки на кшталт створення працівника з окладом нижче мінімального або надання надто великої надбавки. Кращий спосіб упоратися з цим — використовувати винятки. Оскільки ці помилки специфічні для нашого застосунку (на відміну від, скажімо, ділення на нуль, що є універсальною помилкою), логічно застосувати власні класи винятків.
Ця вправа є частиною курсу
Об'єктноорієнтоване програмування в Python
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Define SalaryError inherited from ValueError
____
# Define BonusError inherited from SalaryError
____