我使用带有QtConcurrent::run的QFuture在后台线程中运行一些代码。我想从主线程中检测后台代码中的异常。
根据Notification about exceptions in QtConcurrent::run的说法,当您请求未来的结果时,会重新抛出异常。不幸的是,QFuture没有结果函数。
我可以通过让我的函数返回一个int来解决这个问题,然后使用QFuture而不是QFuture,但是添加一个返回值只是为了能够检测异常,这看起来有点不合常理。
有没有用QFuture检测异常的方法?
发布于 2019-11-09 00:26:09
是的,虽然QFuture没有"result()“函数,但它有一个"waitForFinished()”函数可用于此目的。
https://stackoverflow.com/questions/58770390
复制相似问题