GeneratorExit
Исключение, возникающее при запросе закрытия генератора/сопрограммы.
Исключение поднимается методом
Используется для управления генератором/сопрограммой извне.
Начиная с +py2.6 наследуется от BaseException.
На заметку
Если данный тип исключения обрабатывается внутри генератора/сопрограммы, то генератор/сопрограмма не должна вырабатывать (
.close()
генератора/сопрограммы.Используется для управления генератором/сопрограммой извне.
def generate():
values = [1, 2]
for value in values:
try:
yield value
except GeneratorExit as e:
# При попытке выработать значение в ходе обработки
# поднимется RuntimeError.
# yield 200 # RuntimeError: generator ignored GeneratorExit
print('Принудительная остановка')
raise # Повторно поднимаем исключение.
my_generator = generate()
print(next(my_generator)) # 1
my_generator.close() # Принудительная остановка
Начиная с +py2.6 наследуется от BaseException.
На заметку
Если данный тип исключения обрабатывается внутри генератора/сопрограммы, то генератор/сопрограмма не должна вырабатывать (
yield
) значение, в противном случае будет возбуждено исключение RuntimeError.
Синонимы поиска: GeneratorExit
На заметку
Зарегистрированные пользователи могут публиковать свои мнения относительно Книг, Видео, Статей других авторов и прочего в разделе Обсуждений.