Source code for django_api_orm.exceptions

"""Custom exceptions for django-api-orm.

This module defines all custom exceptions used throughout the library,
providing Django ORM-like exception handling for API interactions.
"""


[docs] class APIException(Exception): """Base exception for all API-related errors.""" pass
[docs] class ValidationException(APIException): """Raised when Pydantic validation fails.""" pass
[docs] class DoesNotExist(APIException): """Raised when a query returns no results (similar to Django's DoesNotExist).""" pass
[docs] class MultipleObjectsReturned(APIException): """Raised when a query expected one result but returned multiple.""" pass
[docs] class ConnectionError(APIException): """Raised when connection to the API fails.""" pass
[docs] class TimeoutError(APIException): """Raised when an API request times out.""" pass
[docs] class AuthenticationError(APIException): """Raised when authentication fails (401 status).""" pass
[docs] class RateLimitError(APIException): """Raised when API rate limit is exceeded (429 status).""" pass
[docs] class HTTPStatusError(APIException): """Raised when an HTTP request returns an error status code. This wraps httpx.HTTPStatusError to provide a consistent exception interface. """ pass