QFuture <void>检测异常

时间:2019-11-08 16:26:08

标签: c++ multithreading qt exception qt5

我在QtConcurrent :: run中使用QFuture 在后台线程中运行一些代码。我想从主线程中检测此后台代码中的异常。

根据Notification about exceptions in QtConcurrent::run,当您请求将来的结果时,将重新引发异常。不幸的是,QFuture 没有结果函数。

我可以通过使函数返回一个int值,然后使用QFuture 而不是QFuture 来解决此问题,但是添加一个返回值只是为了能够检测异常似乎有点不正常。

是否可以使用QFuture 检测异常?

1 个答案:

答案 0 :(得分:0)

是的,尽管QFuture 没有“ result()”函数,但确实具有可用于此目的的“ waitForFinished()”函数。