Source code for flowodm.exceptions

"""Custom exceptions for FlowODM."""


[docs] class FlowODMError(Exception): """Base exception for all FlowODM errors.""" pass
[docs] class ConnectionError(FlowODMError): """Raised when connection to Kafka or Schema Registry fails.""" pass
[docs] class ConfigurationError(FlowODMError): """Raised when configuration is invalid or missing.""" pass
[docs] class SchemaError(FlowODMError): """Base exception for schema-related errors.""" pass
[docs] class SchemaValidationError(SchemaError): """Raised when schema validation fails."""
[docs] def __init__(self, message: str, errors: list[str] | None = None): super().__init__(message) self.errors = errors or []
[docs] class SchemaRegistryError(SchemaError): """Raised when Schema Registry operations fail.""" pass
[docs] class SchemaCompatibilityError(SchemaError): """Raised when schema compatibility check fails."""
[docs] def __init__(self, message: str, compatibility_level: str | None = None): super().__init__(message) self.compatibility_level = compatibility_level
[docs] class SerializationError(FlowODMError): """Raised when message serialization fails.""" pass
[docs] class DeserializationError(FlowODMError): """Raised when message deserialization fails.""" pass
[docs] class ProducerError(FlowODMError): """Raised when message production fails.""" pass
[docs] class ConsumerError(FlowODMError): """Raised when message consumption fails.""" pass
[docs] class TopicError(FlowODMError): """Raised when topic-related operations fail.""" pass
[docs] class SettingsError(FlowODMError): """Raised when model Settings class is invalid or missing.""" pass