python 生成器_Python生成器中的GeneratorExit
我寫了一個關(guān)于Python生成器的測試程序.但是我得到了一個不期望的錯誤.我不知道如何解釋它.我來告訴你代碼:
def countdown(n):
logging.debug("Counting down")
while n > 0:
try:
yield n
except GeneratorExit:
logging.error("GeneratorExit")
n -= 1
if __name__ == '__main__':
c = countdown(10)
logging.debug("value: %d", c.next())
我認為應(yīng)該沒有任何問題.但輸出是:
# ./test.py
[2015/06/16 04:10:49] DEBUG - Counting down
[2015/06/16 04:10:49] DEBUG - value: 10
[2015/06/16 04:10:49] ERROR - GeneratorExit
Exception RuntimeError: 'generator ignored GeneratorExit' in ignored
為什么最后一行有錯誤.我不知道為什么我觸發(fā)了GeneratorExit異常.我錯過了什么東西生成器嗎?我還將代碼輸入到交互式python shell中,一切正常.怎么會發(fā)生這種情況?
總結(jié)
以上是生活随笔為你收集整理的python 生成器_Python生成器中的GeneratorExit的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python依赖注入_如何做依赖注入py
- 下一篇: python中异常和错误是同一个概念吗_