In addition to offering send transmission parameters of the aforementioned method, there are two important methods
close ():. After closing off Builder Builder, if the latter would like values from the builder, will complain
throw (): transfer to the interior of the generator exceptions
def gen_func(): yield 1 yield 2 yield 3 IF the __name__ == ' __main__ ' : # generates a generator object Gen = gen_func () Print (Next (Gen)) # . 1 gen.close () Print (Next (Gen)) # after close gen, error messages StopIteration
def gen_func(): yield 1 yield 2 yield 3 IF the __name__ == ' __main__ ' : # generates a generator object Gen = gen_func () Print (Next (Gen)) # . 1 gen.throw (Exception, ' error .... ' ) # throw exceptions Print (Next ( Gen)) # will not be executed,
def gen_func(): try: yield 1 except: pass yield 2 yield 3 IF the __name__ == ' __main__ ' : # generates a generator object Gen = gen_func () Print (Next (Gen)) # . 1 gen.throw (Exception, ' error .... ' ) # throw exceptions Print (Next ( Gen)) # . 3, in the capture exception generator, normally performed here