""" Custom exceptions for the COBY system. """ class COBYException(Exception): """Base exception for COBY system""" def __init__(self, message: str, error_code: str = None, details: dict = None): super().__init__(message) self.message = message self.error_code = error_code self.details = details or {} def to_dict(self) -> dict: """Convert exception to dictionary""" return { 'error': self.__class__.__name__, 'message': self.message, 'error_code': self.error_code, 'details': self.details } class ConnectionError(COBYException): """Exception raised for connection-related errors""" pass class ValidationError(COBYException): """Exception raised for data validation errors""" pass class ProcessingError(COBYException): """Exception raised for data processing errors""" pass class StorageError(COBYException): """Exception raised for storage-related errors""" pass class ConfigurationError(COBYException): """Exception raised for configuration errors""" pass class ReplayError(COBYException): """Exception raised for replay-related errors""" pass class AggregationError(COBYException): """Exception raised for aggregation errors""" pass