exceptions.py 1.7 KB

123456789101112131415161718192021222324252627282930313233
  1. class YandexMusicError(Exception):
  2. """Базовый класс, представляющий исключения общего характера."""
  3. class UnauthorizedError(YandexMusicError):
  4. """Класс исключения, вызываемого для случаев ошибок аутентификации и авторизации."""
  5. # TODO (MarshalX) На самом деле поиск еще происходит по кодеку
  6. # https://github.com/MarshalX/yandex-music-api/issues/552
  7. class InvalidBitrateError(YandexMusicError):
  8. """Класс исключения, вызываемого при попытке загрузки трека с недоступным битрейтом."""
  9. class NetworkError(YandexMusicError):
  10. """Базовый класс исключений, вызываемых для ошибок, связанных с запросами к серверу."""
  11. class BadRequestError(NetworkError):
  12. """Класс исключения, вызываемый в случае отправки неправильного запроса."""
  13. class NotFoundError(NetworkError):
  14. """Класс исключения, вызываемый в случае ответа от сервера со статус кодом 404."""
  15. # TimeoutError builtin. Пока не знаю хотим ли использовать его для синхронной и asyncio.TimeoutError для асинхронной
  16. class TimedOutError(NetworkError):
  17. """Класс исключения, вызываемого для случаев истечения времени ожидания."""
  18. def __init__(self) -> None:
  19. super().__init__('Timed out')