Source code for hdmi.exceptions

"""Exceptions for hdmi dependency injection framework."""


[docs] class HDMIError(Exception): """Base exception for all hdmi errors.""" pass
[docs] class ScopeViolationError(HDMIError): """Raised when a service depends on a service with incompatible scope. The only invalid dependency pattern is when a non-scoped service (singleton or transient) attempts to depend on a scoped service. Valid patterns: - Any service can depend on singleton services - Any service can depend on transient services - Scoped services can depend on any service type Invalid patterns: - Singleton (scoped=False) depending on Scoped (scoped=True) - Transient (scoped=False) depending on Scoped (scoped=True) Note: Transient dependencies are created once during their dependent's construction and live for the dependent's lifetime, making them safe dependencies for any service type. """ pass
[docs] class CircularDependencyError(HDMIError): """Raised when circular dependencies are detected.""" pass
[docs] class UnresolvableDependencyError(HDMIError, KeyError): """Raised when a required dependency cannot be resolved. This exception extends both HDMIError and KeyError for compatibility with code that catches KeyError. """ pass