diff options
author | Jose <jose@zeroc.com> | 2017-09-20 11:05:13 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-09-20 11:05:13 +0200 |
commit | 7f0816001e085f482f8f9a34b7f8e06435907510 (patch) | |
tree | 46807f18b840e1c9816cd9b4aac001c8078d8bce /cpp/src/Ice/ServantManager.cpp | |
parent | Fixed Ice/acm Java7 build failure (diff) | |
download | ice-7f0816001e085f482f8f9a34b7f8e06435907510.tar.bz2 ice-7f0816001e085f482f8f9a34b7f8e06435907510.tar.xz ice-7f0816001e085f482f8f9a34b7f8e06435907510.zip |
Clean C++ exception code to only throw exception types
- Update C++ code to only throw types derived from
C++ exception
- Update C++ code to use one-shot constructors to
create the exceptions
Fix bug ICE-7892
Diffstat (limited to 'cpp/src/Ice/ServantManager.cpp')
-rw-r--r-- | cpp/src/Ice/ServantManager.cpp | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/cpp/src/Ice/ServantManager.cpp b/cpp/src/Ice/ServantManager.cpp index ba32e2c9fba..9b4965e8186 100644 --- a/cpp/src/Ice/ServantManager.cpp +++ b/cpp/src/Ice/ServantManager.cpp @@ -42,15 +42,14 @@ IceInternal::ServantManager::addServant(const ObjectPtr& object, const Identity& { if(p->second.find(facet) != p->second.end()) { - AlreadyRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "servant"; ToStringMode toStringMode = _instance->toStringMode(); - ex.id = Ice::identityToString(ident, toStringMode); + ostringstream os; + os << Ice::identityToString(ident, toStringMode); if(!facet.empty()) { - ex.id += " -f " + escapeString(facet, "", toStringMode); + os << " -f " << escapeString(facet, "", toStringMode); } - throw ex; + throw AlreadyRegisteredException(__FILE__, __LINE__, "servant", os.str()); } } @@ -69,10 +68,7 @@ IceInternal::ServantManager::addDefaultServant(const ObjectPtr& object, const st DefaultServantMap::iterator p = _defaultServantMap.find(category); if(p != _defaultServantMap.end()) { - AlreadyRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "default servant"; - ex.id = category; - throw ex; + throw AlreadyRegisteredException(__FILE__, __LINE__, "default servant", category); } _defaultServantMap.insert(pair<const string, ObjectPtr>(category, object)); @@ -102,15 +98,14 @@ IceInternal::ServantManager::removeServant(const Identity& ident, const string& if(p == _servantMapMap.end() || (q = p->second.find(facet)) == p->second.end()) { - NotRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "servant"; ToStringMode toStringMode = _instance->toStringMode(); - ex.id = Ice::identityToString(ident, toStringMode); + ostringstream os; + os << Ice::identityToString(ident, toStringMode); if(!facet.empty()) { - ex.id += " -f " + escapeString(facet, "", toStringMode); + os << " -f " + escapeString(facet, "", toStringMode); } - throw ex; + throw NotRegisteredException(__FILE__, __LINE__, "servant", os.str()); } servant = q->second; @@ -148,10 +143,7 @@ IceInternal::ServantManager::removeDefaultServant(const string& category) DefaultServantMap::iterator p = _defaultServantMap.find(category); if(p == _defaultServantMap.end()) { - NotRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "default servant"; - ex.id = category; - throw ex; + throw NotRegisteredException(__FILE__, __LINE__, "default servant", category); } servant = p->second; @@ -176,10 +168,8 @@ IceInternal::ServantManager::removeAllFacets(const Identity& ident) if(p == _servantMapMap.end()) { - NotRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "servant"; - ex.id = Ice::identityToString(ident, _instance->toStringMode()); - throw ex; + throw NotRegisteredException(__FILE__, __LINE__, "servant", + Ice::identityToString(ident, _instance->toStringMode())); } FacetMap result = p->second; @@ -333,10 +323,7 @@ IceInternal::ServantManager::addServantLocator(const ServantLocatorPtr& locator, if((_locatorMapHint != _locatorMap.end() && _locatorMapHint->first == category) || _locatorMap.find(category) != _locatorMap.end()) { - AlreadyRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "servant locator"; - ex.id = category; - throw ex; + throw AlreadyRegisteredException(__FILE__, __LINE__, "servant locator", category); } _locatorMapHint = _locatorMap.insert(_locatorMapHint, pair<const string, ServantLocatorPtr>(category, locator)); @@ -365,10 +352,7 @@ IceInternal::ServantManager::removeServantLocator(const string& category) if(p == _locatorMap.end()) { - NotRegisteredException ex(__FILE__, __LINE__); - ex.kindOfObject = "servant locator"; - ex.id = category; - throw ex; + throw NotRegisteredException(__FILE__, __LINE__, "servant locator", category); } ServantLocatorPtr locator = p->second; |