Python Glossary English

Python 3.11+Исключенияисключение

BaseExceptionGroup

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

Базовая группа исключений, включающая системные (SystemExit/KeyboardInterrupt); родитель ExceptionGroup (3.11+).

Синтаксис

raise BaseExceptionGroup

Главная ловушка: это потомок BaseException, а не Exception, поэтому обычный except Exception группу не поймает — даже если внутри лежат самые обычные ValueError. Конструктор к тому же хитрый: если все вложенные исключения — подклассы Exception, BaseExceptionGroup(...) вернёт вам ExceptionGroup. Разбирать группу по частям нужно через except*, обычный except срабатывает на всю группу целиком.

Примеры

try:
    raise BaseExceptionGroup('группа', [KeyboardInterrupt()])
except BaseExceptionGroup as e:
    print(type(e).__name__)   # → BaseExceptionGroup

См. также

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