Пользовательские исключения
Вам не обязательно ограничиваться встроенными исключениями, такими как IndexError: вы можете определять собственные исключения, более точно отражающие логику вашего приложения. Кроме того, можно выстраивать иерархии исключений. Всё, что нужно для создания исключения, — это класс, унаследованный от встроенного класса Exception или одного из его подклассов.
В главе 1 вы определили класс Employee и использовали операторы print и значения по умолчанию для обработки ошибок — например, создания сотрудника с зарплатой ниже минимальной или слишком большой прибавки. Более правильный подход — использовать исключения. Поскольку эти ошибки специфичны для нашего приложения (в отличие, например, от деления на ноль, которое универсально), имеет смысл создать пользовательские классы исключений.
Это упражнение является частью курса
Объектно-ориентированное программирование на Python
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define SalaryError inherited from ValueError
____
# Define BonusError inherited from SalaryError
____