X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fapplication.cpp;h=c16c9c4b7c757e3a4312316bb69edb668ef2615e;hp=383b5c23d29737c6c14ebb537b4756a57ee83139;hb=ff046cb6c42a2382ee281e83955b7ae44030b42e;hpb=6f925ba9d6faf1077b73c5a5808259576081716a diff --git a/pv/application.cpp b/pv/application.cpp index 383b5c23..c16c9c4b 100644 --- a/pv/application.cpp +++ b/pv/application.cpp @@ -20,10 +20,14 @@ #include "application.hpp" #include "config.h" -#include +#include + +#include + +#ifdef ENABLE_STACKTRACE +#include +#endif -using std::cerr; -using std::endl; using std::exception; Application::Application(int &argc, char* argv[]) : @@ -40,8 +44,13 @@ bool Application::notify(QObject *receiver, QEvent *event) try { return QApplication::notify(receiver, event); } catch (exception& e) { - cerr << "Caught exception: " << e.what() << endl; + qDebug().nospace() << "Caught exception of type " << \ + typeid(e).name() << " (" << e.what() << ")"; +#ifdef ENABLE_STACKTRACE + throw e; +#else exit(1); +#endif return false; } }