summaryrefslogtreecommitdiff
path: root/cpp/src/IceBox/ServiceManagerI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2005-12-12 18:19:36 +0000
committerBenoit Foucher <benoit@zeroc.com>2005-12-12 18:19:36 +0000
commit1568e88c4449a7c635987ba4166952d31ea4c807 (patch)
treea9b9787ed82f85862d8bdb22b3e7e99d2779cb3a /cpp/src/IceBox/ServiceManagerI.cpp
parentAdded blocking client support (diff)
downloadice-1568e88c4449a7c635987ba4166952d31ea4c807.tar.bz2
ice-1568e88c4449a7c635987ba4166952d31ea4c807.tar.xz
ice-1568e88c4449a7c635987ba4166952d31ea4c807.zip
Fix
Diffstat (limited to 'cpp/src/IceBox/ServiceManagerI.cpp')
-rw-r--r--cpp/src/IceBox/ServiceManagerI.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/IceBox/ServiceManagerI.cpp b/cpp/src/IceBox/ServiceManagerI.cpp
index 636311af49a..cca51014d2f 100644
--- a/cpp/src/IceBox/ServiceManagerI.cpp
+++ b/cpp/src/IceBox/ServiceManagerI.cpp
@@ -207,7 +207,16 @@ IceBox::ServiceManagerI::load(const string& name, const string& value)
else
{
entryPoint = value.substr(0, pos);
- args = IceUtil::Options::split(value.substr(pos + 1));
+ try
+ {
+ args = IceUtil::Options::split(value.substr(pos + 1));
+ }
+ catch(const IceUtil::Options::BadQuote& ex)
+ {
+ FailureException e(__FILE__, __LINE__);
+ e.reason = "ServiceManager: invalid arguments for service `" + name + "':\n" + ex.reason;
+ throw e;
+ }
}
start(name, entryPoint, args);
}