error_message("UNCAUGHT exception: " + QString(e.what()));
return false;
} catch (...) {
- error_message("UNCAUGHT exception: " +
#if defined(__GNUC__) || defined(__llvm__) || defined(__clang__)
- QString(__cxxabiv1::__cxa_current_exception_type()->name())
+ int status = 0;
+ char *buff = __cxxabiv1::__cxa_demangle(
+ __cxxabiv1::__cxa_current_exception_type()->name(),
+ NULL, NULL, &status);
+ QString exception_name = QString(buff);
+ std::free(buff);
#else
- "unknown"
+ QString exception_name = QString("unknown");
#endif
- );
+ error_message("UNCAUGHT exception: " + exception_name);
return false;
}
}