Qt异常处理 - 尝试catch

时间:2017-12-19 15:33:46

标签: c++ qt error-handling try-catch

我使用qt,我有一个gui和几个线程的大项目。

我想添加exaption处理。 我用Google搜索,没有找到任何教程或相关答案。

在某些网站上我读到qt不支持try catch。

qt支持尝试捕获吗?还是一些错误处理? 如果是的话,有人可以给出一些指导或教程吗?

坦克你。

1 个答案:

答案 0 :(得分:1)

不允许通过信号槽调用抛出异常。允许在Qt应用程序中使用异常执行的所有其他操作。

http://doc.qt.io/qt-5/exceptionsafety.html#signals-and-slots

  

从Qt的信号槽调用的插槽中抛出异常   连接机制被认为是未定义的行为,除非它是   在插槽内处理。

class MyClass : public QObject
{
    Q_OBJECT
public slots:
    void mySlot()
    {
        throw std::logic_error(""); // Undefined behavior when invoked by a signal
    }
};