domain.errors.balance_snapshot_error¶
src.domain.errors.balance_snapshot_error
¶
Balance snapshot domain errors.
Defines balance snapshot-specific error constants for validation and state management.
Architecture
- Domain layer errors (no infrastructure dependencies)
- Used in Result types (railway-oriented programming)
- Never raised as exceptions (return Failure(error) instead)
Usage
from src.domain.errors import BalanceSnapshotError from src.core.result import Failure
if not balance: return Failure(BalanceSnapshotError.INVALID_BALANCE)
Reference
- docs/architecture/balance-tracking-architecture.md
Classes¶
BalanceSnapshotError
¶
Balance snapshot error constants.
Used in Result types for balance snapshot operation failures. These are NOT exceptions - they are error value constants used in railway-oriented programming pattern.
Error Categories
- Validation errors: INVALID_BALANCE, INVALID_CURRENCY
- Query errors: SNAPSHOT_NOT_FOUND
Source code in src/domain/errors/balance_snapshot_error.py
Attributes¶
INVALID_BALANCE
class-attribute
instance-attribute
¶
Balance value is required for snapshot.
INVALID_CURRENCY
class-attribute
instance-attribute
¶
Currency must be a valid 3-letter ISO 4217 code.
CURRENCY_MISMATCH
class-attribute
instance-attribute
¶
Balance currency must be consistent with account.
SNAPSHOT_NOT_FOUND
class-attribute
instance-attribute
¶
Balance snapshot with given ID does not exist.
ACCOUNT_NOT_FOUND
class-attribute
instance-attribute
¶
Account associated with snapshot does not exist.
INVALID_DATE_RANGE
class-attribute
instance-attribute
¶
Date range query has invalid bounds.
DATE_RANGE_TOO_LARGE
class-attribute
instance-attribute
¶
Requested date range is too large for query.