diff --git a/src/Main/MainCmd.cpp b/src/Main/MainCmd.cpp index 03ce38757..3c3a9376c 100644 --- a/src/Main/MainCmd.cpp +++ b/src/Main/MainCmd.cpp @@ -122,8 +122,18 @@ int main( int argc, char ** argv ) } // Run phase =========================================================== - Application::runApplication(); - + try { + Application::runApplication(); + } + catch (const Base::SystemExitException&) { + exit(0); + } + catch (const Base::Exception& e) { + e.ReportException(); + } + catch (...) { + Console().Error("Application unexpectedly terminated\n"); + } // Destruction phase =========================================================== Console().Log("FreeCAD terminating...\n");