qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Rolke (JIRA)" <j...@apache.org>
Subject [jira] [Created] (QPID-5623) [C++ Messaging Client - amqp1.0] throws qpid::Exception instead of qpid::types::Exception
Date Mon, 10 Mar 2014 22:49:43 GMT
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
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()); }
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

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

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message