Встречается на собеседованиях • сегодня

В чём разница между exception и BaseException

BaseException - это базовый класс для всех исключений в Python, от которого наследуются все остальные исключения. Exception - это подкласс BaseException, предназначенный для "обычных" исключений, которые обычно перехватываются в коде.

Основные отличия:

  1. BaseException включает системные исключения (SystemExit, KeyboardInterrupt), которые обычно не должны перехватываться
  2. Exception включает только "пользовательские" исключения (ValueError, TypeError и т.д.)
  3. Лучше ловить Exception, а не BaseException, чтобы не перехватывать системные события
python
try:
    raise KeyboardInterrupt
except Exception:  # не сработает
    print("Caught Exception")
except BaseException:  # сработает
    print("Caught BaseException")

Рекомендуется использовать Exception для обработки ошибок в прикладном коде, а BaseException - только в особых случаях (например, в фреймворках).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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