我用python2.7。在
def printtext():
try:
line = yield
print line
except StopIteration:
pass
if __name__ == '__main__':
p = printtext()
p.send(None)
p.send('Hello, World')
我试图捕获StopIteration
异常,但它仍然被引发而没有被捕获。在
您能不能给我一些提示,在这种情况下,StopIteration
异常为什么会逃逸?在
Tags:
当
StopIteration
被提出时,你是误会了。StopIteration
在生成器函数退出时引发,而不是在yield
表达式期间。因此,唯一的方法就是在函数之外执行它。。。在相关问题 更多 >
编程相关推荐