Source code for kpicalculator.exceptions
# src/kpicalculator/exceptions.py
"""Custom exception hierarchy for KPI Calculator."""
[docs]
class KpiCalculatorError(Exception):
"""Base exception for KPI Calculator."""
[docs]
class ValidationError(KpiCalculatorError):
"""Raised when input validation fails."""
[docs]
class SecurityError(KpiCalculatorError):
"""Raised when security validation fails."""
[docs]
class DataSourceError(KpiCalculatorError):
"""Raised when data source loading fails."""
[docs]
class CalculationError(KpiCalculatorError):
"""Raised when KPI calculation fails."""
[docs]
class MathematicalError(CalculationError):
"""Raised when mathematical constraints are violated."""
[docs]
class ExportError(KpiCalculatorError):
"""Raised when result export fails."""
[docs]
class ConfigurationError(KpiCalculatorError):
"""Raised when configuration is invalid."""
[docs]
class DatabaseError(DataSourceError):
"""Raised when database operations fail."""
[docs]
class CredentialError(SecurityError):
"""Raised when credential loading or validation fails."""