Coverage for Lib/asyncio/exceptions.py: 100%
20 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-15 02:02 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-15 02:02 +0000
1"""asyncio exceptions."""
4__all__ = ('BrokenBarrierError',
5 'CancelledError', 'InvalidStateError', 'TimeoutError',
6 'IncompleteReadError', 'LimitOverrunError',
7 'SendfileNotAvailableError')
10class CancelledError(BaseException):
11 """The Future or Task was cancelled."""
14TimeoutError = TimeoutError # make local alias for the standard exception
17class InvalidStateError(Exception):
18 """The operation is not allowed in this state."""
21class SendfileNotAvailableError(RuntimeError):
22 """Sendfile syscall is not available.
24 Raised if OS does not support sendfile syscall for given socket or
25 file type.
26 """
29class IncompleteReadError(EOFError):
30 """
31 Incomplete read error. Attributes:
33 - partial: read bytes string before the end of stream was reached
34 - expected: total number of expected bytes (or None if unknown)
35 """
36 def __init__(self, partial, expected):
37 r_expected = 'undefined' if expected is None else repr(expected)
38 super().__init__(f'{len(partial)} bytes read on a total of '
39 f'{r_expected} expected bytes')
40 self.partial = partial
41 self.expected = expected
43 def __reduce__(self):
44 return type(self), (self.partial, self.expected)
47class LimitOverrunError(Exception):
48 """Reached the buffer limit while looking for a separator.
50 Attributes:
51 - consumed: total number of to be consumed bytes.
52 """
53 def __init__(self, message, consumed):
54 super().__init__(message)
55 self.consumed = consumed
57 def __reduce__(self):
58 return type(self), (self.args[0], self.consumed)
61class BrokenBarrierError(RuntimeError):
62 """Barrier is broken by barrier.abort() call."""