diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/main.cpp | 18 |
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); |