Skip to content

Exceptions

All MicroDC exceptions inherit from MicroDCError.

Exception Hierarchy

MicroDCError
├── AuthenticationError
├── ValidationError
├── APIError
├── TimeoutError
├── JobNotFoundError
├── RateLimitError
└── InsufficientCreditsError

MicroDCError

MicroDCError

Bases: Exception

Base exception for all MicroDC client errors.

Source code in microdc/exceptions/errors.py
6
7
8
9
class MicroDCError(Exception):
    """Base exception for all MicroDC client errors."""

    pass

AuthenticationError

AuthenticationError

Bases: MicroDCError

Raised when API key is invalid or expired.

Source code in microdc/exceptions/errors.py
class AuthenticationError(MicroDCError):
    """Raised when API key is invalid or expired."""

    pass

ValidationError

ValidationError

Bases: MicroDCError

Raised when job configuration is invalid.

Source code in microdc/exceptions/errors.py
class ValidationError(MicroDCError):
    """Raised when job configuration is invalid."""

    pass

APIError

APIError

Bases: MicroDCError

Raised when API returns an error.

Source code in microdc/exceptions/errors.py
class APIError(MicroDCError):
    """Raised when API returns an error."""

    def __init__(self, message: str, status_code: Optional[int] = None):
        super().__init__(message)
        self.status_code = status_code

TimeoutError

TimeoutError

Bases: MicroDCError

Raised when operation times out.

Source code in microdc/exceptions/errors.py
class TimeoutError(MicroDCError):
    """Raised when operation times out."""

    pass

JobNotFoundError

JobNotFoundError

Bases: MicroDCError

Raised when job ID does not exist.

Source code in microdc/exceptions/errors.py
class JobNotFoundError(MicroDCError):
    """Raised when job ID does not exist."""

    pass

RateLimitError

RateLimitError

Bases: MicroDCError

Raised when rate limit is exceeded.

Source code in microdc/exceptions/errors.py
class RateLimitError(MicroDCError):
    """Raised when rate limit is exceeded."""

    def __init__(self, message: str, retry_after: Optional[int] = None):
        super().__init__(message)
        self.retry_after = retry_after

InsufficientCreditsError

InsufficientCreditsError

Bases: MicroDCError

Raised when user has insufficient credits.

Source code in microdc/exceptions/errors.py
class InsufficientCreditsError(MicroDCError):
    """Raised when user has insufficient credits."""

    def __init__(self, message: str, required: float, available: float):
        super().__init__(message)
        self.required = required
        self.available = available