Выбор ответа Junior Исключения и контекстные менеджеры спрашивают часто обновлено

Чем плох голый except

Вопрос

Чем except: без типа хуже except Exception:?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Он ловит и KeyboardInterrupt, и SystemExit. Голый except: эквивалентен except BaseException: и перехватывает Ctrl+C и sys.exit(), поэтому программа «не убивается».

Варианты ответа

  1. Он не ловит пользовательские исключения, только встроенные
  2. Это SyntaxError в Python 3, нужен тип
  3. Он работает медленнее из-за проверки всех типов
  4. Он ловит и KeyboardInterrupt, и SystemExitправильный ответ

Разбор

Голый except: эквивалентен except BaseException: и перехватывает Ctrl+C и sys.exit(), поэтому программа «не убивается». Exception это база для обычных ошибок, включая пользовательские. Синтаксически голый except допустим, линтеры ругаются на него отдельным правилом.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.