Source code for src.utils.errors

"""Custom exception hierarchy for Share of Search analysis."""


[docs] class ShareOfSearchError(Exception): """Base exception for all Share of Search errors.""" pass
[docs] class ConfigurationError(ShareOfSearchError): """Configuration-related errors.""" pass
[docs] class InvalidConfigError(ConfigurationError): """Invalid configuration provided.""" pass
[docs] class MissingAPIKeyError(ConfigurationError): """Required API key not found.""" pass
[docs] class DataError(ShareOfSearchError): """Data fetching/processing errors.""" pass
[docs] class APIError(DataError): """API request failed.""" pass
[docs] class RateLimitError(APIError): """API rate limit exceeded.""" pass
[docs] class InvalidResponseError(APIError): """API returned invalid/unexpected response.""" pass
[docs] class ProcessingError(ShareOfSearchError): """Data processing errors.""" pass
[docs] class TransformError(ProcessingError): """Data transformation failed.""" pass
[docs] class CalculationError(ProcessingError): """Metric calculation failed.""" pass
[docs] class VisualizationError(ShareOfSearchError): """Visualization generation errors.""" pass
[docs] class ReportError(ShareOfSearchError): """Report generation errors.""" pass