Skip to content

Exceptions

exceptions

Pika specific exceptions.

AMQPChannelError

Bases: AMQPError

Source code in pika/exceptions.py
class AMQPChannelError(AMQPError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: {self.args!r}'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: {self.args!r}'

AMQPConnectionError

Bases: AMQPError

Source code in pika/exceptions.py
class AMQPConnectionError(AMQPError):

    @override
    def __init__(self,
                 *args,
                 host: str | None = None,
                 port: int | None = None) -> None:
        super().__init__(*args)
        self.host = host
        self.port = port

    def _host_port_suffix(self) -> str:
        """Return a ` (host=..., port=...)` repr suffix, or '' when unset."""
        if self.host is not None:
            return f' (host={self.host!r}, port={self.port})'
        return ''

    @override
    def __repr__(self) -> str:
        if len(self.args) == 2:
            base = f'{self.__class__.__name__}: ({self.args[0]}) {self.args[1]}'
        else:
            base = f'{self.__class__.__name__}: {self.args}'
        return f'{base}{self._host_port_suffix()}'

host instance-attribute

host = host

port instance-attribute

port = port

__init__

__init__(
    *args, host: str | None = None, port: int | None = None
) -> None
Source code in pika/exceptions.py
@override
def __init__(self,
             *args,
             host: str | None = None,
             port: int | None = None) -> None:
    super().__init__(*args)
    self.host = host
    self.port = port

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    if len(self.args) == 2:
        base = f'{self.__class__.__name__}: ({self.args[0]}) {self.args[1]}'
    else:
        base = f'{self.__class__.__name__}: {self.args}'
    return f'{base}{self._host_port_suffix()}'

AMQPError

Bases: Exception

Source code in pika/exceptions.py
class AMQPError(Exception):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: An unspecified AMQP error has occurred; {self.args}'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: An unspecified AMQP error has occurred; {self.args}'

AMQPHeartbeatTimeout

Bases: AMQPConnectionError

Connection was dropped as result of heartbeat timeout.

Source code in pika/exceptions.py
class AMQPHeartbeatTimeout(AMQPConnectionError):
    """Connection was dropped as result of heartbeat timeout."""

AuthenticationError

Bases: AMQPConnectionError

Source code in pika/exceptions.py
class AuthenticationError(AMQPConnectionError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: Server and client could not negotiate use of the {self.args[0]} '
            f'authentication mechanism{self._host_port_suffix()}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: Server and client could not negotiate use of the {self.args[0]} '
        f'authentication mechanism{self._host_port_suffix()}')

BodyTooLongError

Bases: ProtocolSyntaxError

Source code in pika/exceptions.py
class BodyTooLongError(ProtocolSyntaxError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: Received too many bytes for a message delivery: '
            f'Received {self.args[0]}, expected {self.args[1]}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: Received too many bytes for a message delivery: '
        f'Received {self.args[0]}, expected {self.args[1]}')

ChannelClosed

Bases: AMQPChannelError

The channel closed by client or by broker.

Source code in pika/exceptions.py
class ChannelClosed(AMQPChannelError):
    """The channel closed by client or by broker."""

    def __init__(self, reply_code: int, reply_text: str) -> None:
        """

        :param reply_code: reply-code that was used in user's or broker's
            `Channel.Close` method. One of the AMQP-defined Channel Errors.
            NEW in v1.0.0
        :param reply_text: reply-text that was used in user's or broker's
            `Channel.Close` method. Human-readable string corresponding to
            `reply_code`;
            NEW in v1.0.0

        """
        super().__init__(int(reply_code), str(reply_text))

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: ({self.reply_code}) {self.reply_text!r}'

    @property
    def reply_code(self) -> int:
        """NEW in v1.0.0."""
        return self.args[0]

    @property
    def reply_text(self) -> str:
        """NEW in v1.0.0."""
        return self.args[1]

reply_code property

reply_code: int

NEW in v1.0.0.

reply_text property

reply_text: str

NEW in v1.0.0.

__init__

__init__(reply_code: int, reply_text: str) -> None
PARAMETER DESCRIPTION
reply_code

reply-code that was used in user's or broker's Channel.Close method. One of the AMQP-defined Channel Errors. NEW in v1.0.0

TYPE: int

reply_text

reply-text that was used in user's or broker's Channel.Close method. Human-readable string corresponding to reply_code; NEW in v1.0.0

TYPE: str

Source code in pika/exceptions.py
def __init__(self, reply_code: int, reply_text: str) -> None:
    """

    :param reply_code: reply-code that was used in user's or broker's
        `Channel.Close` method. One of the AMQP-defined Channel Errors.
        NEW in v1.0.0
    :param reply_text: reply-text that was used in user's or broker's
        `Channel.Close` method. Human-readable string corresponding to
        `reply_code`;
        NEW in v1.0.0

    """
    super().__init__(int(reply_code), str(reply_text))

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: ({self.reply_code}) {self.reply_text!r}'

ChannelClosedByBroker

Bases: ChannelClosed

Channel.Close from broker; may be passed as reason to channel's on-closed callback of non- blocking connection adapters or raised by BlockingConnection.

NEW in v1.0.0

Source code in pika/exceptions.py
class ChannelClosedByBroker(ChannelClosed):
    """
    `Channel.Close` from broker; may be passed as reason to channel's on-closed callback of non-
    blocking connection adapters or raised by `BlockingConnection`.

    NEW in v1.0.0
    """

ChannelClosedByClient

Bases: ChannelClosed

Channel closed by client upon receipt of Channel.CloseOk; may be passed as reason to channel's on-closed callback of non-blocking connection adapters, but not raised by BlockingConnection.

NEW in v1.0.0

Source code in pika/exceptions.py
class ChannelClosedByClient(ChannelClosed):
    """
    Channel closed by client upon receipt of `Channel.CloseOk`; may be passed as reason to channel's
    on-closed callback of non-blocking connection adapters, but not raised by `BlockingConnection`.

    NEW in v1.0.0
    """

ChannelError

Bases: Exception

Source code in pika/exceptions.py
class ChannelError(Exception):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: An unspecified error occurred with the Channel'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: An unspecified error occurred with the Channel'

ChannelWrongStateError

Bases: AMQPChannelError

Channel is in wrong state for the requested operation.

Source code in pika/exceptions.py
class ChannelWrongStateError(AMQPChannelError):
    """Channel is in wrong state for the requested operation."""

ConnectionBlockedTimeout

Bases: AMQPConnectionError

RabbitMQ-specific: timed out waiting for connection.unblocked.

Source code in pika/exceptions.py
class ConnectionBlockedTimeout(AMQPConnectionError):
    """RabbitMQ-specific: timed out waiting for connection.unblocked."""

ConnectionClosed

Bases: AMQPConnectionError

Source code in pika/exceptions.py
class ConnectionClosed(AMQPConnectionError):

    def __init__(self,
                 reply_code: int,
                 reply_text: str | bytes,
                 host: str | None = None,
                 port: int | None = None) -> None:
        """

        :param reply_code: reply-code that was used in user's or broker's
            `Connection.Close` method. NEW in v1.0.0
        :param reply_text: reply-text that was used in user's or broker's
            `Connection.Close` method. Human-readable string corresponding to
            `reply_code`. A broker may send text that is not valid UTF-8, in
            which case it arrives as bytes and undecodable characters are
            replaced. NEW in v1.0.0
        :param host: hostname or IP of the broker
        :param port: port of the broker
        """
        if isinstance(reply_text, bytes):
            # `str(bytes)` would yield the repr, b-prefix and escapes
            # included, mangling the very text needed to diagnose the close.
            reply_text = reply_text.decode('utf-8', errors='replace')

        super().__init__(int(reply_code), str(reply_text), host=host, port=port)

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: ({self.reply_code}) {self.reply_text!r}'
            f'{self._host_port_suffix()}')

    @property
    def reply_code(self) -> int:
        """NEW in v1.0.0."""
        return self.args[0]

    @property
    def reply_text(self) -> str:
        """NEW in v1.0.0."""
        return self.args[1]

reply_code property

reply_code: int

NEW in v1.0.0.

reply_text property

reply_text: str

NEW in v1.0.0.

__init__

__init__(
    reply_code: int,
    reply_text: str | bytes,
    host: str | None = None,
    port: int | None = None,
) -> None
PARAMETER DESCRIPTION
reply_code

reply-code that was used in user's or broker's Connection.Close method. NEW in v1.0.0

TYPE: int

reply_text

reply-text that was used in user's or broker's Connection.Close method. Human-readable string corresponding to reply_code. A broker may send text that is not valid UTF-8, in which case it arrives as bytes and undecodable characters are replaced. NEW in v1.0.0

TYPE: str | bytes

host

hostname or IP of the broker

TYPE: str | None DEFAULT: None

port

port of the broker

TYPE: int | None DEFAULT: None

Source code in pika/exceptions.py
def __init__(self,
             reply_code: int,
             reply_text: str | bytes,
             host: str | None = None,
             port: int | None = None) -> None:
    """

    :param reply_code: reply-code that was used in user's or broker's
        `Connection.Close` method. NEW in v1.0.0
    :param reply_text: reply-text that was used in user's or broker's
        `Connection.Close` method. Human-readable string corresponding to
        `reply_code`. A broker may send text that is not valid UTF-8, in
        which case it arrives as bytes and undecodable characters are
        replaced. NEW in v1.0.0
    :param host: hostname or IP of the broker
    :param port: port of the broker
    """
    if isinstance(reply_text, bytes):
        # `str(bytes)` would yield the repr, b-prefix and escapes
        # included, mangling the very text needed to diagnose the close.
        reply_text = reply_text.decode('utf-8', errors='replace')

    super().__init__(int(reply_code), str(reply_text), host=host, port=port)

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: ({self.reply_code}) {self.reply_text!r}'
        f'{self._host_port_suffix()}')

ConnectionClosedByBroker

Bases: ConnectionClosed

Connection.Close from broker.

Source code in pika/exceptions.py
class ConnectionClosedByBroker(ConnectionClosed):
    """Connection.Close from broker."""

ConnectionClosedByClient

Bases: ConnectionClosed

Connection was closed at request of Pika client.

Source code in pika/exceptions.py
class ConnectionClosedByClient(ConnectionClosed):
    """Connection was closed at request of Pika client."""

ConnectionOpenAborted

Bases: AMQPConnectionError

Client closed connection while opening.

Source code in pika/exceptions.py
class ConnectionOpenAborted(AMQPConnectionError):
    """Client closed connection while opening."""

ConnectionWrongStateError

Bases: AMQPConnectionError

Connection is in wrong state for the requested operation.

Source code in pika/exceptions.py
class ConnectionWrongStateError(AMQPConnectionError):
    """Connection is in wrong state for the requested operation."""

    @override
    def __repr__(self) -> str:
        if self.args:
            return super().__repr__()
        return (
            f'{self.__class__.__name__}: The connection is in wrong state for the requested '
            f'operation.{self._host_port_suffix()}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    if self.args:
        return super().__repr__()
    return (
        f'{self.__class__.__name__}: The connection is in wrong state for the requested '
        f'operation.{self._host_port_suffix()}')

ConsumerCancelled

Bases: AMQPChannelError

Source code in pika/exceptions.py
class ConsumerCancelled(AMQPChannelError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: Server cancelled consumer'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: Server cancelled consumer'

DuplicateConsumerTag

Bases: AMQPChannelError

Source code in pika/exceptions.py
class DuplicateConsumerTag(AMQPChannelError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: The consumer tag specified already exists for this '
            f'channel: {self.args[0]}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: The consumer tag specified already exists for this '
        f'channel: {self.args[0]}')

DuplicateGetOkCallback

Bases: ChannelError

Source code in pika/exceptions.py
class DuplicateGetOkCallback(ChannelError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: basic_get can only be called again after the callback for '
            'the previous basic_get is executed')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: basic_get can only be called again after the callback for '
        'the previous basic_get is executed')

IncompatibleProtocolError

Bases: AMQPConnectionError

Source code in pika/exceptions.py
class IncompatibleProtocolError(AMQPConnectionError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: The protocol returned by the server is not supported: {self.args}'
            f'{self._host_port_suffix()}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: The protocol returned by the server is not supported: {self.args}'
        f'{self._host_port_suffix()}')

InvalidChannelNumber

Bases: AMQPError

Source code in pika/exceptions.py
class InvalidChannelNumber(AMQPError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: An invalid channel number has been specified: {self.args[0]}'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: An invalid channel number has been specified: {self.args[0]}'

InvalidFieldTypeException

Bases: ProtocolSyntaxError

Source code in pika/exceptions.py
class InvalidFieldTypeException(ProtocolSyntaxError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: Unsupported field kind {self.args[0]}'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: Unsupported field kind {self.args[0]}'

InvalidFrameError

Bases: ProtocolSyntaxError

Source code in pika/exceptions.py
class InvalidFrameError(ProtocolSyntaxError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: Invalid frame received: {self.args[0]!r}'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: Invalid frame received: {self.args[0]!r}'

MethodNotImplemented

Bases: AMQPError

Source code in pika/exceptions.py
class MethodNotImplemented(AMQPError):
    pass

NackError

Bases: AMQPChannelError

This exception is raised when a message published in publisher-acknowledgements mode is Nack'ed by the broker.

Used by BlockingChannel.

Source code in pika/exceptions.py
class NackError(AMQPChannelError):
    """
    This exception is raised when a message published in publisher-acknowledgements mode is Nack'ed
    by the broker.

    Used by BlockingChannel.
    """

    def __init__(self, messages: Sequence[ReturnedMessageLike]) -> None:
        """
        :param messages: Sequence of returned unroutable messages
        """
        super().__init__(f'{len(messages)} message(s) NACKed')

        # See the note in `UnroutableError.__init__`.
        self.messages: Sequence[Any] = messages

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: {len(self.messages)} unroutable messages returned by broker'

messages instance-attribute

messages: Sequence[Any] = messages

__init__

__init__(messages: Sequence[ReturnedMessageLike]) -> None
PARAMETER DESCRIPTION
messages

Sequence of returned unroutable messages

TYPE: Sequence[ReturnedMessageLike]

Source code in pika/exceptions.py
def __init__(self, messages: Sequence[ReturnedMessageLike]) -> None:
    """
    :param messages: Sequence of returned unroutable messages
    """
    super().__init__(f'{len(messages)} message(s) NACKed')

    # See the note in `UnroutableError.__init__`.
    self.messages: Sequence[Any] = messages

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: {len(self.messages)} unroutable messages returned by broker'

NoFreeChannels

Bases: AMQPConnectionError

Source code in pika/exceptions.py
class NoFreeChannels(AMQPConnectionError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: The connection has run out of free channels'
            f'{self._host_port_suffix()}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: The connection has run out of free channels'
        f'{self._host_port_suffix()}')

ProbableAccessDeniedError

Bases: AMQPConnectionError

Source code in pika/exceptions.py
class ProbableAccessDeniedError(AMQPConnectionError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: Client was disconnected at a connection stage indicating a '
            f'probable denial of access to the specified virtual host: {self.args}'
            f'{self._host_port_suffix()}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: Client was disconnected at a connection stage indicating a '
        f'probable denial of access to the specified virtual host: {self.args}'
        f'{self._host_port_suffix()}')

ProbableAuthenticationError

Bases: AMQPConnectionError

Source code in pika/exceptions.py
class ProbableAuthenticationError(AMQPConnectionError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: Client was disconnected at a connection stage indicating a '
            f'probable authentication error: {self.args}{self._host_port_suffix()}'
        )

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: Client was disconnected at a connection stage indicating a '
        f'probable authentication error: {self.args}{self._host_port_suffix()}'
    )

ProtocolSyntaxError

Bases: AMQPError

Source code in pika/exceptions.py
class ProtocolSyntaxError(AMQPError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: An unspecified protocol syntax error occurred'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: An unspecified protocol syntax error occurred'

ProtocolVersionMismatch

Bases: ProtocolSyntaxError

Source code in pika/exceptions.py
class ProtocolVersionMismatch(ProtocolSyntaxError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: Protocol versions did not match: {self.args[0]!r} vs {self.args[1]!r}'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: Protocol versions did not match: {self.args[0]!r} vs {self.args[1]!r}'

ReentrancyError

Bases: Exception

The requested operation would result in unsupported recursion or reentrancy.

Used by BlockingConnection/BlockingChannel

Source code in pika/exceptions.py
class ReentrancyError(Exception):
    """
    The requested operation would result in unsupported recursion or reentrancy.

    Used by BlockingConnection/BlockingChannel
    """

ReturnedMessageLike

Bases: Protocol

Structural type for a message returned by the broker via Basic.Return.

Describes what a reader of UnroutableError.messages or NackError.messages can rely on. Two unrelated classes carry these messages: blocking_connection.ReturnedMessage and twisted_connection.ReceivedMessage, which adds a channel field. Neither can be named here without an import cycle, so the exceptions accept either shape.

The exceptions themselves read only len(messages); the members below are what their callers go on to use.

The members are read-only because ReceivedMessage is a namedtuple.

Declared under TYPE_CHECKING, so it is available to annotations but not importable at runtime. Import it inside a TYPE_CHECKING block, which from __future__ import annotations or a quoted annotation makes usable.

Source code in pika/exceptions.py
class ReturnedMessageLike(Protocol):
    """
    Structural type for a message returned by the broker via Basic.Return.

    Describes what a reader of `UnroutableError.messages` or `NackError.messages` can rely on.
    Two unrelated classes carry these messages: `blocking_connection.ReturnedMessage` and
    `twisted_connection.ReceivedMessage`, which adds a `channel` field. Neither can be named
    here without an import cycle, so the exceptions accept either shape.

    The exceptions themselves read only `len(messages)`; the members below are what their
    callers go on to use.

    The members are read-only because `ReceivedMessage` is a `namedtuple`.

    Declared under `TYPE_CHECKING`, so it is available to annotations but not importable at
    runtime. Import it inside a `TYPE_CHECKING` block, which `from __future__ import
    annotations` or a quoted annotation makes usable.
    """

    @property
    def method(self) -> spec.Basic.Return:
        ...

    @property
    def properties(self) -> spec.BasicProperties:
        ...

    @property
    def body(self) -> bytes:
        ...

body property

body: bytes

method property

method: Return

properties property

properties: BasicProperties

ShortStringTooLong

Bases: AMQPError

Source code in pika/exceptions.py
class ShortStringTooLong(AMQPError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: AMQP Short String can contain up to 255 bytes: '
            f'{self.args[0]!s:.300}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: AMQP Short String can contain up to 255 bytes: '
        f'{self.args[0]!s:.300}')

StreamLostError

Bases: AMQPConnectionError

Stream (TCP) connection lost.

Source code in pika/exceptions.py
class StreamLostError(AMQPConnectionError):
    """Stream (TCP) connection lost."""

UnencodableDecimalError

Bases: AMQPError

Source code in pika/exceptions.py
class UnencodableDecimalError(AMQPError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: decimal.Decimal value has no AMQP decimal '
            f'representation: {self.args[0]!s:.300}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: decimal.Decimal value has no AMQP decimal '
        f'representation: {self.args[0]!s:.300}')

UnencodableLongError

Bases: AMQPError

Source code in pika/exceptions.py
class UnencodableLongError(AMQPError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: integer value has no AMQP field-table '
            f'representation (outside signed 64-bit): {self.args[0]!s:.300}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: integer value has no AMQP field-table '
        f'representation (outside signed 64-bit): {self.args[0]!s:.300}')

UnencodableTimestampError

Bases: AMQPError

Source code in pika/exceptions.py
class UnencodableTimestampError(AMQPError):

    @override
    def __repr__(self) -> str:
        return (
            f'{self.__class__.__name__}: datetime value has no AMQP timestamp '
            f'representation (before the Unix epoch): {self.args[0]!s:.300}')

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return (
        f'{self.__class__.__name__}: datetime value has no AMQP timestamp '
        f'representation (before the Unix epoch): {self.args[0]!s:.300}')

UnexpectedFrameError

Bases: ProtocolSyntaxError

Source code in pika/exceptions.py
class UnexpectedFrameError(ProtocolSyntaxError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: Received a frame out of sequence: {self.args[0]!r}'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: Received a frame out of sequence: {self.args[0]!r}'

UnroutableError

Bases: AMQPChannelError

Exception containing one or more unroutable messages returned by broker via Basic.Return.

Used by BlockingChannel.

In publisher-acknowledgements mode, this is raised upon receipt of Basic.Ack from broker; in the event of Basic.Nack from broker, NackError is raised instead

Source code in pika/exceptions.py
class UnroutableError(AMQPChannelError):
    """
    Exception containing one or more unroutable messages returned by broker via Basic.Return.

    Used by BlockingChannel.

    In publisher-acknowledgements mode, this is raised upon receipt of Basic.Ack from broker; in the
    event of Basic.Nack from broker, `NackError` is raised instead
    """

    def __init__(self, messages: Sequence[ReturnedMessageLike]) -> None:
        """
        :param messages: Sequence of returned unroutable messages
        """
        super().__init__(f'{len(messages)} unroutable message(s) returned')

        # `Sequence[Any]` rather than the protocol so that existing code
        # annotating these against the concrete `ReturnedMessage` keeps checking.
        # A protocol is not assignable to the nominal class it describes.
        self.messages: Sequence[Any] = messages

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: {len(self.messages)} unroutable messages returned by broker'

messages instance-attribute

messages: Sequence[Any] = messages

__init__

__init__(messages: Sequence[ReturnedMessageLike]) -> None
PARAMETER DESCRIPTION
messages

Sequence of returned unroutable messages

TYPE: Sequence[ReturnedMessageLike]

Source code in pika/exceptions.py
def __init__(self, messages: Sequence[ReturnedMessageLike]) -> None:
    """
    :param messages: Sequence of returned unroutable messages
    """
    super().__init__(f'{len(messages)} unroutable message(s) returned')

    # `Sequence[Any]` rather than the protocol so that existing code
    # annotating these against the concrete `ReturnedMessage` keeps checking.
    # A protocol is not assignable to the nominal class it describes.
    self.messages: Sequence[Any] = messages

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: {len(self.messages)} unroutable messages returned by broker'

UnsupportedAMQPFieldException

Bases: ProtocolSyntaxError

Source code in pika/exceptions.py
class UnsupportedAMQPFieldException(ProtocolSyntaxError):

    @override
    def __repr__(self) -> str:
        return f'{self.__class__.__name__}: Unsupported field kind {type(self.args[1])}'

__repr__

__repr__() -> str
Source code in pika/exceptions.py
@override
def __repr__(self) -> str:
    return f'{self.__class__.__name__}: Unsupported field kind {type(self.args[1])}'

WorkQueueFullError

Bases: AMQPConnectionError

The work queue stayed full for longer than the configured work_queue_put_timeout.

Used by Connection/Channel. Subclasses :class:AMQPConnectionError because an overflow tears the connection down, so applications catching connection loss by base class see it too.

Source code in pika/exceptions.py
class WorkQueueFullError(AMQPConnectionError):
    """
    The work queue stayed full for longer than the configured ``work_queue_put_timeout``.

    Used by Connection/Channel.  Subclasses :class:`AMQPConnectionError` because an overflow tears
    the connection down, so applications catching connection loss by base class see it too.
    """

override

override(func)
Source code in pika/_utils.py
def override(func):
    return func