Встречается на 1% собеседований по Python

Есть ли иерархия исключений в Python

Да, в Python существует иерархия исключений. Все исключения наследуются от базового класса BaseException. Основные классы исключений:

  1. BaseException - корневой класс всех исключений
  2. Exception - базовый класс для большинства пользовательских исключений
  3. Стандартные исключения (ArithmeticError, LookupError, OSError и др.)

Пример иерархии:

python
try:
    1 / 0
except ArithmeticError:  # Ловит ZeroDivisionError, так как он наследуется от ArithmeticError
    print("Арифметическая ошибка")
except Exception:
    print("Общее исключение")

Важные особенности:

  • Можно создавать собственные исключения, наследуясь от Exception
  • Порядок обработки исключений важен - от более конкретных к более общим
  • Некоторые системные исключения (SystemExit, KeyboardInterrupt) наследуются напрямую от BaseException

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы