Gevent greenlet 将异常冒泡到父级

问题描述 投票:0回答:1

在使用 gevent 时,每当子 greenlet 抛出异常时,我希望它冒泡到父级(理想情况下让父级抛出异常)。在 greenlet 的文档中,它说这是自动完成的,但在 gevent 中似乎并非如此。

如何在 gevent 中冒泡异常?

谢谢!

python exception gevent greenlets
1个回答
3
投票

如果您将子 greenlet

link()
到父 greenlet,那么当子进程退出时,
LinkedExited
将在父进程中引发。此时,您可以检查子 greenlet 的
exception
属性。它将包含子级中引发的异常实例(如果子级完成时出现错误)。既然你有了例外,你可以立即在父级中处理它,或者你可以在父级中引发它。

© www.soinside.com 2019 - 2024. All rights reserved.