Python Glossary English

Python 3.14+concurrent.interpretersисключение

concurrent.interpreters.InterpreterError

исключения

Базовое исключение модуля concurrent.interpreters (Python 3.14+): любая ошибка при работе с субинтерпретатором; подкласс Exception, предок InterpreterNotFoundError и ExecutionFailed.

Синтаксис

raise concurrent.interpreters.InterpreterError

Ловить его стоит как «что-то не так с субинтерпретатором вообще»: под него попадают и мёртвый интерпретатор (InterpreterNotFoundError), и упавший внутри код (ExecutionFailed), а вот NotShareableError — нет, тот растёт от TypeError. Важно, что исключение из субинтерпретатора не прилетает к вам «как есть»: объекты не пересекают границу интерпретаторов, наружу выходит ExecutionFailed со снимком исходной ошибки. Сам модуль появился только в Python 3.14 — на более ранних версиях падает уже импорт.

Примеры

from concurrent import interpreters  # Python 3.14+
print(interpreters.InterpreterError.__name__)  # → InterpreterError
print(issubclass(interpreters.InterpreterError, Exception))  # → True
print(issubclass(interpreters.InterpreterNotFoundError, interpreters.InterpreterError))  # → True
print(issubclass(interpreters.ExecutionFailed, interpreters.InterpreterError))  # → True
try:
    raise interpreters.InterpreterError('интерпретатор недоступен')
except interpreters.InterpreterError as e:
    print(type(e).__name__, '|', e)  # → InterpreterError | интерпретатор недоступен

См. также

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