diff --git a/osx/pcedit/pc.main.cpp b/osx/pcedit/pc.main.cpp index 93a37d8c..5e832955 100644 --- a/osx/pcedit/pc.main.cpp +++ b/osx/pcedit/pc.main.cpp @@ -101,6 +101,7 @@ cScenario scenario; //MW specified return type was 'void', changed to ISO C style for Carbonisation -jmr int main(int /*argc*/, char* argv[]) { + try { init_menubar(); init_directories(argv[0]); Initialize(); @@ -117,7 +118,17 @@ int main(int /*argc*/, char* argv[]) { while(!All_Done) Handle_One_Event(); - return 0; + return 0; + } catch(std::exception& x) { + giveError(x.what()); + throw; + } catch(std::string& x) { + giveError(x); + throw; + } catch(...) { + giveError("An unknown error occurred!"); + throw; + } } diff --git a/osx/scenedit/scen.main.cpp b/osx/scenedit/scen.main.cpp index 0c1d496e..9a6e4e12 100644 --- a/osx/scenedit/scen.main.cpp +++ b/osx/scenedit/scen.main.cpp @@ -78,6 +78,7 @@ rectangle right_sbar_rect; //Changed to ISO C specified argument and return type. int main(int, char* argv[]) { + try { init_menubar(); //outdoor_record_type dummy_outdoor, *store2; @@ -132,7 +133,17 @@ int main(int, char* argv[]) { Handle_One_Event(); close_program(); - return 0; + return 0; + } catch(std::exception& x) { + giveError(x.what()); + throw; + } catch(std::string& x) { + giveError(x); + throw; + } catch(...) { + giveError("An unknown error occurred!"); + throw; + } } //