QException的目的是什么?

4
在Qt 5.0中,Qt引入了QException类。
从这个类继承的好处是什么?如果我们抛出的类没有继承自QException类会发生什么?
谢谢!

3
文档中(我加粗):QException类提供了一个基类,用于可以在线程之间传递的异常。 - Frédéric Hamidi
@Laszlo 我并不是非常满意...虽然我已经投票认为你的评论很有用.. - DesignIsLife
为什么不解释缺失的内容,而是让这个线程过时呢? - László Papp
1个回答

14

简而言之,您可以通过阅读相对简短的文档找到答案。


问:从此类继承的好处是什么?

以下是文档中相应的部分:

QException类为可以在线程之间传输的异常提供了一个基类。

除此之外,它与QtConcurrent特性集(包括QFuture)非常好地集成在一起。


问:如果我们抛出不继承自QException类的类会怎样?

以下是文档中相应的部分:

如果抛出的异常不是QException的子类,则Qt函数将在接收线程中抛出QUnhandledException。


1
我已经阅读了这部分文档...但是有些东西还不清楚。 - DesignIsLife
@DesigningLives:我不知道什么是不清楚的,尤其是没有问题的情况下。 - László Papp
我已经阅读了这部分文档...但是有些事情仍然不清楚,例如:
  • 如果Qt函数在接收线程中抛出QUnhandledException怎么办?
  • 这个类只有在使用线程即QtConcurrentQFuture时才有用吗?
  • 我可以自己创建一个类并抛出异常,在一般情况下会有什么区别吗?
- DesignIsLife
@DesigningLives:嗯,根据你的问题,基础知识还没有打好。请从这里开始阅读:http://qt-project.org/doc/qt-5/qtconcurrent-index.html - László Papp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接