Python Glossary English

все Python 3Исключенияисключение

BaseException

встроенные исключения

Корень всей иерархии исключений; ловит абсолютно всё, включая SystemExit/KeyboardInterrupt. В прикладном коде почти никогда не ловят напрямую.

Синтаксис

raise BaseException

От Exception её отделяют ровно те исключения, которые говорят не «данные плохие», а «программу пора останавливать»: SystemExit, KeyboardInterrupt и GeneratorExit наследуются напрямую от BaseException. Поэтому except BaseException (и его близнец — голый except:) съедает Ctrl+C и sys.exit(), и процесс перестаёт завершаться. Если всё же ловишь его ради уборки — заверши обработчик голым raise.

Примеры

try:
    raise BaseException
except BaseException as e:
    print(type(e).__name__)   # → BaseException

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности