X-Git-Url: https://git.toastfreeware.priv.at/toast/confclerk.git/blobdiff_plain/81e085d202d15688247ed0780ba9c6ddbf03a3c3..330b8cb300b0047a481a536cc820096944f274a5:/src/app/application.cpp
diff --git a/src/app/application.cpp b/src/app/application.cpp
index c78ee99..e8ad62b 100644
--- a/src/app/application.cpp
+++ b/src/app/application.cpp
@@ -17,6 +17,11 @@
* You should have received a copy of the GNU General Public License along with
* ConfClerk. If not, see .
*/
+#if defined(__GNUC__) || defined(__llvm__) || defined(__clang__)
+#include
+#endif
+#include
+
#include "application.h"
#include "errormessage.h"
@@ -32,8 +37,17 @@ bool Application::notify(QObject* receiver, QEvent* event)
} catch (OrmException& e) {
error_message("UNCAUGHT OrmException: " + e.text());
return false;
+ } catch (std::exception& e) {
+ error_message("UNCAUGHT exception: " + QString(e.what()));
+ return false;
} catch (...) {
- error_message("UNCAUGHT EXCEPTION: unknown");
+ error_message("UNCAUGHT exception: " +
+#if defined(__GNUC__) || defined(__llvm__) || defined(__clang__)
+ QString(__cxxabiv1::__cxa_current_exception_type()->name())
+#else
+ "unknown"
+#endif
+ );
return false;
}
}