2017-12-19 8 views
0

Ich arbeite mit qt, ich habe ein großes Projekt mit GUI und mehreren Threads.Qt Ausnahme Handhabung - Versuch zu fangen

Ich möchte Exaption Handling hinzufügen. Ich googelte es und fand kein Tutorial oder irgendeine relevante Antwort.

In einigen Websites habe ich gelesen, dass qt nicht versuchen, zu fangen.

Ist qt Unterstützung Versuch zu fangen? Oder eine Fehlerbehandlung? Wenn ja, kann jemand eine Richtung oder ein Tutorial geben?

Tank Sie.

+0

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

Antwort

1

Sie dürfen keine Ausnahme durch einen Signal-Slot-Aufruf auslösen. Alles andere, was Sie mit Ausnahmen in einer Qt-Anwendung tun möchten, ist erlaubt.

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

eine Ausnahme von einem Schlitz durch die Signal-Slot Verbindungsmechanismen Qt aufgerufen Werfen wird undefiniertes Verhalten betrachtet, wenn sie nicht innerhalb des Schlitzes gehandhabt wird.

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