application.errors.application_error¶
src.application.errors.application_error
¶
Application layer error types.
This module defines application-level errors that wrap domain errors and add application-specific context (CQRS command/query execution failures).
Exports
ApplicationErrorCode: Application-level error code enum ApplicationError: Application layer error dataclass
Classes¶
ApplicationErrorCode
¶
Bases: Enum
Application-level error codes.
These codes represent failures at the application layer (command/query handlers), typically wrapping domain errors with additional context.
Examples:
>>> error = ApplicationError(
... code=ApplicationErrorCode.COMMAND_VALIDATION_FAILED,
... message="User creation failed",
... )
Source code in src/application/errors/application_error.py
ApplicationError
dataclass
¶
Application layer error.
Wraps domain errors with application-specific context. Used by command and query handlers to provide structured error information to the presentation layer.
Attributes:
| Name | Type | Description |
|---|---|---|
code |
ApplicationErrorCode
|
Application error code (from ApplicationErrorCode enum) |
message |
str
|
Human-readable error message |
domain_error |
DomainError | None
|
Original domain error (if error originated from domain layer) |
details |
dict[str, str] | None
|
Additional context as key-value pairs |
Examples:
>>> # Command validation failure
>>> error = ApplicationError(
... code=ApplicationErrorCode.COMMAND_VALIDATION_FAILED,
... message="User creation failed: validation error",
... domain_error=validation_error,
... details={"field": "email"},
... )
>>>
>>> # Query failure (no domain error)
>>> error = ApplicationError(
... code=ApplicationErrorCode.QUERY_FAILED,
... message="User not found",
... details={"user_id": "123e4567-e89b-12d3-a456-426614174000"},
... )