aeat.domain.currency._errors module

Domain error hierarchy for currency normalization and exchange-rate lookup.

All exceptions extend AeatError so callers can catch either the domain-specific type or the project-wide base class.

exception CurrencyError(message=None, *, context=None, suggestion=None, translated_message=None)[source]

Bases: AeatError

Base exception for currency normalization.

Parameters:
  • message (str | None)

  • context (dict[str, object] | None)

  • suggestion (str | None)

  • translated_message (str | None)

Return type:

None

code: ClassVar[ErrorCode]
exception MissingExchangeRateError(message=None, *, context=None, suggestion=None, translated_message=None)[source]

Bases: CurrencyError

Raised when an exchange rate is missing for a given date/currency.

Parameters:
  • message (str | None)

  • context (Mapping[str, object] | None)

  • suggestion (str | None)

  • translated_message (str | None)

Return type:

None

code: ClassVar[ErrorCode]
exception UnsupportedCurrencyError(message=None, *, context=None, suggestion=None, translated_message=None)[source]

Bases: CurrencyError

Raised when an unknown currency code is encountered.

Parameters:
  • message (str | None)

  • context (Mapping[str, object] | None)

  • suggestion (str | None)

  • translated_message (str | None)

Return type:

None

code: ClassVar[ErrorCode]
exception ExchangeRateProviderError(message=None, *, context=None, suggestion=None, translated_message=None)[source]

Bases: CurrencyError

Raised when an upstream exchange-rate adapter fails to respond.

Parameters:
  • message (str | None)

  • context (Mapping[str, object] | None)

  • suggestion (str | None)

  • translated_message (str | None)

Return type:

None

code: ClassVar[ErrorCode]
exception StaleExchangeRateError(message=None, *, context=None, suggestion=None, translated_message=None)[source]

Bases: CurrencyError

Raised when the only available rate is outside the acceptable freshness window.

Parameters:
  • message (str | None)

  • context (Mapping[str, object] | None)

  • suggestion (str | None)

  • translated_message (str | None)

Return type:

None

code: ClassVar[ErrorCode]