Source code for extral.exceptions
"""Custom exceptions for the Extral ETL tool."""
from typing import Optional, Any, Dict
[docs]
class LoadException(ExtralException):
"""Raised when data loading fails."""
pass
[docs]
class ConnectionException(ExtralException):
"""Raised when database connection fails."""
pass
[docs]
class ConfigurationException(ExtralException):
"""Raised when configuration is invalid or missing."""
pass
[docs]
class StateException(ExtralException):
"""Raised when state management operations fail."""
pass
[docs]
class ValidationException(ExtralException):
"""Raised when validation checks fail."""
pass
[docs]
class RetryableException(ExtralException):
"""Base class for exceptions that can be retried."""
def __init__(self, message: str, max_retries: int = 3, **kwargs: Any):
super().__init__(message, **kwargs)
self.max_retries = max_retries