def generator(): try: yield "Start" yield "Middle" except GeneratorExit: print("Generator closed") finally: print("Cleanup") gen = generator() print(next(gen)) gen.close() print(next(gen))