我使用的是QFuture<void>与QtConcurrent::run一起在后台线程中运行一些代码。我想从主线程检测这个后台代码中的异常。
根据QtConcurrent:中关于异常的通知:当您请求未来的结果时,会重新抛出运行异常。不幸的是,QFuture<void>没有结果函数。
我可以通过让我的函数返回一个int,然后使用QFuture<int>而不是QFuture<void>,但是添加一个返回值来检测异常似乎有点反常。
是否存在用QFuture<void>?
是,而QFuture<void>没有"result(("函数,它有一个可用于此目的的"waitForFinished(("功能。