【问题标题】:QFuture<void> detect exceptionsQFuture<void> 检测异常
【发布时间】:2020-03-05 07:29:57
【问题描述】:

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

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

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

有没有办法用 QFuture 检测异常?

【问题讨论】:

    标签: c++ multithreading qt exception qt5


    【解决方案1】:

    是的,虽然 QFuture 没有“result()”函数,但它有一个可以用于此目的的“waitForFinished()”函数。

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 1970-01-01
      • 2013-02-15
      • 2014-05-06
      • 2020-08-27
      • 2019-07-24
      • 2017-12-26
      • 2020-06-01
      相关资源
      最近更新 更多