python中协程的关闭与异常

782次阅读
没有评论

python中协程的关闭与异常

 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免费测试

相关文章:

版权声明:wuyou2021-05-03发表,共计554字。
新手QQ群:570568346,欢迎进群讨论 Python51学习