exceptions.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637
  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 IdMissingError(YandexMusicError):
  10. """Класс исключения, вызываемого при попытке использования отсутствующего ID."""
  11. class NetworkError(YandexMusicError):
  12. """Базовый класс исключений, вызываемых для ошибок, связанных с запросами к серверу."""
  13. class BadRequestError(NetworkError):
  14. """Класс исключения, вызываемый в случае отправки неправильного запроса."""
  15. class NotFoundError(NetworkError):
  16. """Класс исключения, вызываемый в случае ответа от сервера со статус кодом 404."""
  17. # TimeoutError builtin. Пока не знаю хотим ли использовать его для синхронной и asyncio.TimeoutError для асинхронной
  18. class TimedOutError(NetworkError):
  19. """Класс исключения, вызываемого для случаев истечения времени ожидания."""
  20. def __init__(self) -> None:
  21. super().__init__('Timed out')