summaryrefslogtreecommitdiff
path: root/qpid/python/qpid/messaging/exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/python/qpid/messaging/exceptions.py')
-rw-r--r--qpid/python/qpid/messaging/exceptions.py156
1 files changed, 156 insertions, 0 deletions
diff --git a/qpid/python/qpid/messaging/exceptions.py b/qpid/python/qpid/messaging/exceptions.py
new file mode 100644
index 0000000000..0296d615d9
--- /dev/null
+++ b/qpid/python/qpid/messaging/exceptions.py
@@ -0,0 +1,156 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+class Timeout(Exception):
+ pass
+
+## Messaging Errors
+
+class MessagingError(Exception):
+
+ def __init__(self, code=None, text=None, **info):
+ self.code = code
+ self.text = text
+ self.info = info
+ if self.code is None:
+ msg = self.text
+ else:
+ msg = "%s(%s)" % (self.text, self.code)
+ if info:
+ msg += " " + ", ".join(["%s=%r" % (k, v) for k, v in self.info.items()])
+ Exception.__init__(self, msg)
+
+class InternalError(MessagingError):
+ pass
+
+## Connection Errors
+
+class ConnectionError(MessagingError):
+ """
+ The base class for all connection related exceptions.
+ """
+ pass
+
+class ConnectError(ConnectionError):
+ """
+ Exception raised when there is an error connecting to the remote
+ peer.
+ """
+ pass
+
+class VersionError(ConnectError):
+ pass
+
+class AuthenticationFailure(ConnectError):
+ pass
+
+class ConnectionClosed(ConnectionError):
+ pass
+
+class HeartbeatTimeout(ConnectionError):
+ pass
+
+## Session Errors
+
+class SessionError(MessagingError):
+ pass
+
+class Detached(SessionError):
+ """
+ Exception raised when an operation is attempted that is illegal when
+ detached.
+ """
+ pass
+
+class NontransactionalSession(SessionError):
+ """
+ Exception raised when commit or rollback is attempted on a non
+ transactional session.
+ """
+ pass
+
+class TransactionError(SessionError):
+ pass
+
+class TransactionAborted(TransactionError):
+ pass
+
+class UnauthorizedAccess(SessionError):
+ pass
+
+class ServerError(SessionError):
+ pass
+
+class SessionClosed(SessionError):
+ pass
+
+## Link Errors
+
+class LinkError(MessagingError):
+ pass
+
+class InsufficientCapacity(LinkError):
+ pass
+
+class AddressError(LinkError):
+ pass
+
+class MalformedAddress(AddressError):
+ pass
+
+class InvalidOption(AddressError):
+ pass
+
+class ResolutionError(AddressError):
+ pass
+
+class AssertionFailed(ResolutionError):
+ pass
+
+class NotFound(ResolutionError):
+ pass
+
+class LinkClosed(LinkError):
+ pass
+
+## Sender Errors
+
+class SenderError(LinkError):
+ pass
+
+class SendError(SenderError):
+ pass
+
+class TargetCapacityExceeded(SendError):
+ pass
+
+## Receiver Errors
+
+class ReceiverError(LinkError):
+ pass
+
+class FetchError(ReceiverError):
+ pass
+
+class Empty(FetchError):
+ """
+ Exception raised by L{Receiver.fetch} when there is no message
+ available within the alloted time.
+ """
+ pass