diff options
Diffstat (limited to 'cpp/src/slice2html/Main.cpp')
-rw-r--r-- | cpp/src/slice2html/Main.cpp | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/cpp/src/slice2html/Main.cpp b/cpp/src/slice2html/Main.cpp index d9de5ceeef8..3a2da933e67 100644 --- a/cpp/src/slice2html/Main.cpp +++ b/cpp/src/slice2html/Main.cpp @@ -60,7 +60,7 @@ usage(const char* n) } int -main(int argc, char* argv[]) +compile(int argc, char* argv[]) { IceUtilInternal::Options opts; opts.addOpt("h", "help"); @@ -282,3 +282,40 @@ main(int argc, char* argv[]) return status; } + +int +main(int argc, char* argv[]) +{ + try + { + return compile(argc, argv); + } + catch(const IceUtil::Exception& ex) + { + cerr << ex.what() << endl; +#ifdef __GNUC__ + cerr << ex.ice_stackTrace() << endl; +#endif + return EXIT_FAILURE; + } + catch(const std::exception& ex) + { + cerr << ex.what() << endl; + return EXIT_FAILURE; + } + catch(const std::string& msg) + { + cerr << msg << endl; + return EXIT_FAILURE; + } + catch(const char* msg) + { + cerr << msg << endl; + return EXIT_FAILURE; + } + catch(...) + { + cerr << "unknown exception" << endl; + return EXIT_FAILURE; + } +} |