Chuck Rolke created QPID-5623:
---------------------------------
Summary: [C++ Messaging Client - amqp1.0] throws qpid::Exception
instead of qpid::types::Exception
Key: QPID-5623
URL: https://issues.apache.org/jira/browse/QPID-5623
Project: Qpid
Issue Type: Bug
Components: C++ Client
Affects Versions: 0.27
Environment: Windows .NET binding
Reporter: Chuck Rolke
Running various client invalid URL tests gets different results on amqp 0-10 vs
1.0.
Both versions get into Url::parse and throw Url::Invalid();
Under 0-10 (which works as expected) has
{noformat}
void ConnectionImpl::open()
{
qpid::sys::AbsTime start = qpid::sys::now();
qpid::sys::ScopedLock<qpid::sys::Semaphore> l(semaphore);
try {
if (!connection.isOpen()) connect(start);
}
catch (const types::Exception&) { throw; }
catch (const qpid::Exception& e) { throw
messaging::ConnectionError(e.what()); }
}
{noformat}
where the Url throw is caught as a qpid::Exception and rethrown as a
messaging::ConnectionError.
Under amqp1.0 the Url::Invalid bleeds up to the .NET client interface and is
not handled correctly.
Maybe there are two things to fix:
1. Make the amqp1.0 client send messaging:: exceptions only.
2. Beef up the .NET binding to catch various other exceptions and relay them
into the .NET client when possible.
As is the .NET clients see an exception of
InteropServices::SEHUnhandledException which offers no hint of what went wrong.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]