| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- """
- Exceptions that can be thrown by hyperframe.
- """
- from __future__ import annotations
- class HyperframeError(Exception):
- """
- The base class for all exceptions for the hyperframe module.
- .. versionadded:: 6.0.0
- """
- class UnknownFrameError(HyperframeError):
- """
- A frame of unknown type was received.
- .. versionchanged:: 6.0.0
- Changed base class from `ValueError` to :class:`HyperframeError`
- """
- def __init__(self, frame_type: int, length: int) -> None:
- #: The type byte of the unknown frame that was received.
- self.frame_type = frame_type
- #: The length of the data portion of the unknown frame.
- self.length = length
- def __str__(self) -> str:
- return (
- f"UnknownFrameError: Unknown frame type 0x{self.frame_type:X} received, length {self.length} bytes"
- )
- class InvalidPaddingError(HyperframeError):
- """
- A frame with invalid padding was received.
- .. versionchanged:: 6.0.0
- Changed base class from `ValueError` to :class:`HyperframeError`
- """
- class InvalidFrameError(HyperframeError):
- """
- Parsing a frame failed because the data was not laid out appropriately.
- .. versionadded:: 3.0.2
- .. versionchanged:: 6.0.0
- Changed base class from `ValueError` to :class:`HyperframeError`
- """
- class InvalidDataError(HyperframeError):
- """
- Content or data of a frame was is invalid or violates the specification.
- .. versionadded:: 6.0.0
- """
|