Python Glossary English

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

concurrent.interpreters.InterpreterNotFoundError

исключения

Целевой субинтерпретатор больше не существует — закрыт через close() или указан неизвестный id (Python 3.14+); подкласс InterpreterError.

Синтаксис

raise concurrent.interpreters.InterpreterNotFoundError

Обычная причина — вы держите объект Interpreter после close() или обращаетесь по id, за которым уже ничего нет; любой exec() или call() по такому хендлу упадёт именно этим исключением. Повторять попытку бессмысленно: интерпретатор не воскреснет, нужно создавать новый через create(). Если ловите его вместе с прочими ошибками, ставьте его выше InterpreterError в цепочке except — иначе базовый класс перехватит первым.

Примеры

from concurrent import interpreters  # Python 3.14+
print(issubclass(interpreters.InterpreterNotFoundError, interpreters.InterpreterError))  # → True
interp = interpreters.create()
interp.exec('x = 1')
interp.close()
try:
    interp.exec('x = 2')  # интерпретатор уже уничтожен
except interpreters.InterpreterNotFoundError as e:
    print(type(e).__name__)  # → InterpreterNotFoundError
try:
    interpreters.Interpreter(999999)  # такого id не существует
except interpreters.InterpreterNotFoundError:
    print('нет такого интерпретатора')  # → нет такого интерпретатора

См. также

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