From c3b33ead3e0028b44020bdb02cd139c8a85f409e Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 20 Mar 2007 17:35:28 +0000 Subject: Catch exception now thrown by ExchangeRegistry::getDefault() when a default has not been set. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@520493 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/lib/broker/RecoveryManager.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'cpp/lib') diff --git a/cpp/lib/broker/RecoveryManager.cpp b/cpp/lib/broker/RecoveryManager.cpp index 6ea4c00c65..6548e6a24f 100644 --- a/cpp/lib/broker/RecoveryManager.cpp +++ b/cpp/lib/broker/RecoveryManager.cpp @@ -29,9 +29,13 @@ RecoveryManager::~RecoveryManager() {} Queue::shared_ptr RecoveryManager::recoverQueue(const string& name) { std::pair result = queues.declare(name, true); - Exchange::shared_ptr exchange = exchanges.getDefault(); - if (exchange) { - exchange->bind(result.first, result.first->getName(), 0); + try { + Exchange::shared_ptr exchange = exchanges.getDefault(); + if (exchange) { + exchange->bind(result.first, result.first->getName(), 0); + } + } catch (ChannelException& e) { + //assume no default exchange has been declared } return result.first; } -- cgit v1.2.1