все 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Сообщить о неточности