【发布时间】:2012-10-04 21:21:47
【问题描述】:
在使用 gevent 时,每当子 greenlet 抛出异常时,我希望它冒泡到父级(理想情况下让父级抛出异常)。在 greenlets 的文档中,它说这是自动完成的,但在 gevent 中似乎并非如此。
如何在 gevent 中冒泡异常?
谢谢!
【问题讨论】:
标签: python exception-handling gevent greenlets
在使用 gevent 时,每当子 greenlet 抛出异常时,我希望它冒泡到父级(理想情况下让父级抛出异常)。在 greenlets 的文档中,它说这是自动完成的,但在 gevent 中似乎并非如此。
如何在 gevent 中冒泡异常?
谢谢!
【问题讨论】:
标签: python exception-handling gevent greenlets
如果你link() 子greenlet 到父greenlet,那么当子退出时LinkedExited 将在父greenlet 中引发。此时您可以检查子greenlet 的exception 属性。它将包含在孩子中引发的异常实例(如果孩子以错误结束)。现在您有了异常,您可以立即在父级中处理它,也可以在父级中引发它。
【讨论】: