Hello,
Is there a current recommended way of catching exceptions before they unwind
through the event loop? I want this for "debug purposes" only. I have few
methods that throw and I (think I) catch (all of) my exceptions before they
reach the event loop, but I wanted to be sure I hadn't forgotten something
somewhere. Shouldn't happen anyway, but I was wondering if there's (or if
there's going to be) a replacement for QCoreApplication::notify.


I wrote and installed my own notify function.
My app only ever throws QStrings.

Something like...

class MyApplication : public QApplication {
    Q_OBJECT
    typedef QApplication BaseClass;
  public:
    MyApplication(int&,char**);
   ~MyApplication();
    bool notify(QObject*,QEvent*);      // This is virtual.
};

bool
MyApplication::notify( QObject *receiver, QEvent *event ) {
    try {
        return BaseClass::notify(receiver,event);
    } catch( QString msg ) {                            // What I throw.
        msg = msg.trimmed(); msg += " Operation aborted.";
        LogEvent( EventLevel_Critical, msg );
        return false;
   } catch( std::bad_alloc & ) {
        LogEvent( EventLevel_SystemError, "Could not allocate any more 
memory...");
        return false;
    } catch( std::exception &e ) {
LogEvent( EventLevel_SystemError, QString("Standard exception: %1.").arg(e.what()) );
        return false;
    } catch( ... ) {
LogEvent( EventLevel_SystemError, "MyApplication::notify: Caught an unexpected exception." );
        return false;
    }
}

Thanks in advance!

Kind regards,
Konstantin.


_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to