summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/main.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gui/main.cpp b/src/gui/main.cpp
index 529052e..a3ced2b 100644
--- a/src/gui/main.cpp
+++ b/src/gui/main.cpp
@@ -1046,6 +1046,24 @@ int main( int argc, char ** argv )
ui->cb_show_msg(msg, MSG_CRITICAL);
sys_config->delete_lock_file();
exit(1);
+ } catch (int e) {
+ string msg = "Error code exception: ";
+ msg += e;
+ log_file->write_report(msg, "::main", LOG_NORMAL, LOG_CRITICAL);
+ ui->cb_show_msg(msg, MSG_CRITICAL);
+ sys_config->delete_lock_file();
+ exit(1);
+ } catch (const std::exception& e) {
+ string msg = "std::exception exception: ";
+ msg += e.what();
+ msg += " (";
+ msg += typeid(e).name();
+ msg += ")";
+
+ log_file->write_report(msg, "::main", LOG_NORMAL, LOG_CRITICAL);
+ ui->cb_show_msg(msg, MSG_CRITICAL);
+ sys_config->delete_lock_file();
+ exit(1);
} catch (...) {
string msg = "Unknown exception";
log_file->write_report(msg, "::main", LOG_NORMAL, LOG_CRITICAL);