2017-12-19 79 views
0

私はqtを使って作業しています。私はguiといくつかのスレッドを持つ大きなプロジェクトを持っています。Qt例外処理 - キャッチしよう

例外処理を追加したいと思います。 私はそれをgoogledし、チュートリアルやいくつかの関連する答えを見つけることができませんでした。

一部のサイトでは、try catchをサポートしていません。

qtサポートはキャッチしようとしていますか?または何らかのエラー処理ですか? 「はい」の場合、いくつかの指示やチュートリアルがありますか?

タンクしてください。

+0

http://doc.qt.io/qt-5/exceptionsafety.html – drescherjm

答えて

1

シグナルスロットの呼び出しによって例外をスローすることはできません。あなたがQtアプリケーションで例外を使ってやりたいことはすべて許可されています。 Qtのシグナルスロット 接続機構によって呼び出さスロットから例外をスロー

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

それがスロット内 を処理されていない限り、未定義の動作と見なされます。

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