文章 > Python基础教程 > python中协程的关闭与异常

python中协程的关闭与异常

头像

小妮浅浅

2021-03-05 15:46:24905浏览 · 0收藏 · 0评论

 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中协程的关闭与异常,希望能对大家有所帮助。更多Python学习指路:python基础教程

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮