1、关闭一个协程
使用close()来关闭。
使用except捕获协程的关闭close():
grepclose.py
@coroutine def grep(pattern): print "Looking for %s" % pattern try: while True: line = (yield) if pattern in line: print line, except GeneratorExit: print "Going away. Goodbye"
使用GeneratorExit这个异常类型
2、抛出一个异常
在一个协程中,可以抛出一个异常
g.throw(RuntimeError,"You're hosed") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 4, in grep RuntimeError: You're hosed
异常起源于yield表达式,可以用常规方法去抓取。
以上就是python中协程的关闭与异常,希望能对大家有所帮助。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试