diff options
Diffstat (limited to 'cpp/src/Ice/Service.cpp')
-rwxr-xr-x | cpp/src/Ice/Service.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cpp/src/Ice/Service.cpp b/cpp/src/Ice/Service.cpp index 38abdd8c4e9..3fbf9225be4 100755 --- a/cpp/src/Ice/Service.cpp +++ b/cpp/src/Ice/Service.cpp @@ -469,6 +469,24 @@ Ice::Service::run(int argc, char* argv[]) ostr << "service caught unhandled Ice exception:" << endl << ex; error(ostr.str()); } + catch(const std::exception& ex) + { + ostringstream ostr; + ostr << "service caught unhandled std::exception:" << endl << ex.what(); + error(ostr.str()); + } + catch(const std::string& msg) + { + ostringstream ostr; + ostr << "service caught unhandled exception:" << endl << msg; + error(ostr.str()); + } + catch(const char* msg) + { + ostringstream ostr; + ostr << "service caught unhandled exception:" << endl << msg; + error(ostr.str()); + } catch(...) { error("service caught unhandled C++ exception"); |