Встречается на 1% собеседований по Python
Есть ли иерархия исключений в Python
Да, в Python существует иерархия исключений. Все исключения наследуются от базового класса BaseException. Основные классы исключений:
BaseException- корневой класс всех исключенийException- базовый класс для большинства пользовательских исключений- Стандартные исключения (
ArithmeticError,LookupError,OSErrorи др.)
Пример иерархии:
python
try:
1 / 0
except ArithmeticError: # Ловит ZeroDivisionError, так как он наследуется от ArithmeticError
print("Арифметическая ошибка")
except Exception:
print("Общее исключение")Важные особенности:
- Можно создавать собственные исключения, наследуясь от
Exception - Порядок обработки исключений важен - от более конкретных к более общим
- Некоторые системные исключения (SystemExit, KeyboardInterrupt) наследуются напрямую от BaseException
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы