标签: c++ multithreading qt exception qt5
我在QtConcurrent :: run中使用QFuture 在后台线程中运行一些代码。我想从主线程中检测此后台代码中的异常。
根据Notification about exceptions in QtConcurrent::run,当您请求将来的结果时,将重新引发异常。不幸的是,QFuture 没有结果函数。
我可以通过使函数返回一个int值,然后使用QFuture 而不是QFuture 来解决此问题,但是添加一个返回值只是为了能够检测异常似乎有点不正常。
是否可以使用QFuture 检测异常?
答案 0 :(得分:0)
是的,尽管QFuture 没有“ result()”函数,但确实具有可用于此目的的“ waitForFinished()”函数。