diff options
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/serviceFactory.cpp | 2 | ||||
-rw-r--r-- | src/net/session.cpp | 16 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/net/serviceFactory.cpp b/src/net/serviceFactory.cpp index a16098ce..98aee646 100644 --- a/src/net/serviceFactory.cpp +++ b/src/net/serviceFactory.cpp @@ -101,7 +101,7 @@ shared_ptr <const serviceFactory::registeredService> serviceFactory::getServiceB return (*it); } - throw exceptions::no_service_available(name); + return null; } diff --git a/src/net/session.cpp b/src/net/session.cpp index fcc5dd12..36b9f2c3 100644 --- a/src/net/session.cpp +++ b/src/net/session.cpp @@ -74,8 +74,8 @@ shared_ptr <transport> session::getTransport shared_ptr <session> sess(dynamicCast <session>(shared_from_this())); shared_ptr <service> sv = serviceFactory::getInstance()->create(sess, protocol, auth); - if (sv->getType() != service::TYPE_TRANSPORT) - throw exceptions::no_service_available(); + if (!sv || sv->getType() != service::TYPE_TRANSPORT) + return null; return dynamicCast <transport>(sv); } @@ -87,8 +87,8 @@ shared_ptr <transport> session::getTransport shared_ptr <session> sess(dynamicCast <session>(shared_from_this())); shared_ptr <service> sv = serviceFactory::getInstance()->create(sess, url, auth); - if (sv->getType() != service::TYPE_TRANSPORT) - throw exceptions::no_service_available(); + if (!sv || sv->getType() != service::TYPE_TRANSPORT) + return null; return dynamicCast <transport>(sv); } @@ -106,8 +106,8 @@ shared_ptr <store> session::getStore shared_ptr <session> sess(dynamicCast <session>(shared_from_this())); shared_ptr <service> sv = serviceFactory::getInstance()->create(sess, protocol, auth); - if (sv->getType() != service::TYPE_STORE) - throw exceptions::no_service_available(); + if (!sv || sv->getType() != service::TYPE_STORE) + return null; return dynamicCast <store>(sv); } @@ -119,8 +119,8 @@ shared_ptr <store> session::getStore shared_ptr <session> sess(dynamicCast <session>(shared_from_this())); shared_ptr <service> sv = serviceFactory::getInstance()->create(sess, url, auth); - if (sv->getType() != service::TYPE_STORE) - throw exceptions::no_service_available(); + if (!sv || sv->getType() != service::TYPE_STORE) + return null; return dynamicCast <store>(sv); } |