class GeneratorDemoException(Exception):
def __str__(self):
return "GeneratorDemoException occured"
def generator_demo():
ret_1 = yield "demo of generator:"
print "ret_1=",ret_1
ret_2 = yield "call me with send(arg) then I set ret_1 with arg"
print "ret_2=",ret_2
try:
ret_3 = yield "call me with next() and I always set ret_2 as None"
except GeneratorDemoException,e:
ret_3 = "failed to yield"
print "ret_3=",ret_3
generator = generator_demo()
print generator.next()
print generator.send("arg_to_set_ret1")
print generator.next()
try:
ret_from_throw = generator.throw(GeneratorDemoException,"test finished")
except:
pass
No comments:
Post a Comment