不会。如果子线程中抛出了异常,但是被子线程自身捕获了,那么在主线程中调用futures.result()函数时,不会重新抛出该异常。取而代之,futures.result()函数会返回子线程的返回值(如果有的话),或者抛出一个concurrent.futures.TimeoutError异常(如果设置了超时参数并且超时了)。如果需要获取子线程中捕获的异常,可以使用futures.exception()函数来获取。

Python Futures.result() 函数是否会重新抛出子线程中捕获的异常?

原文地址: https://www.cveoy.top/t/topic/pMmh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录