【发布时间】:2017-01-18 02:51:06
【问题描述】:
我用的是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 异常在这种情况下会逃脱?
【问题讨论】:
-
它是由
send提出的,而不是yield。 -
谢谢。我想我明白了。 @瑞安