57 lines
1.3 KiB
Python
57 lines
1.3 KiB
Python
"""
|
|
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 |