-
The
Sender.send()
method nowraise
s aSenderError
instead of returningFalse
. TheSenderError
will typically have aChannelClosedError
and the underlying reason as a chained exception. -
The
Receiver.ready()
method (and relatedreceive()
and__anext__
when used as an async iterator) nowraise
s aReceiverError
and in particular aReceiverStoppedError
when the receiver has no more messages to receive.Receiver.consume()
doesn't raise any exceptions.Receivers raising
EOFError
now raiseReceiverInvalidatedError
instead. -
For channels which senders raise an error when the channel is closed or which receivers stop receiving when the channel is closed, the
SenderError
andReceiverStoppedError
are chained with a__cause__
that is aChannelClosedError
with the channel that was closed. -
ChannelClosedError
now requires the argumentchannel
(before it was optional). -
Now exceptions are not raised in Receiver.ready() but in Receiver.consume() (receive() or the async iterator
anext
).
-
New exceptions were added:
-
Error
: A base exception from which all exceptions from this library inherit. -
SendError
: Raised for errors when sending messages. -
ReceiverError
: Raised for errors when receiving messages. -
ReceiverClosedError
: Raised when a receiver don't have more messages to receive. -
ReceiverInvalidatedError
: Raised when a receiver was invalidated (for example it was converted into aPeekable
).
-