Base
provide.foundation.errors.base
¶
TODO: Add module docstring.
Classes¶
FoundationError
¶
FoundationError(
message: str,
*,
code: str | None = None,
context: dict[str, Any] | None = None,
cause: Exception | None = None,
**extra_context: Any
)
Bases: Exception
Base exception for all Foundation errors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message
|
str
|
Human-readable error message. |
required |
code
|
str | None
|
Optional error code for programmatic handling. |
None
|
context
|
dict[str, Any] | None
|
Optional context dictionary with diagnostic data. |
None
|
cause
|
Exception | None
|
Optional underlying exception that caused this error. |
None
|
**extra_context
|
Any
|
Additional key-value pairs added to context. |
{}
|
Examples:
>>> raise FoundationError("Operation failed")
>>> raise FoundationError("Operation failed", code="OP_001")
>>> raise FoundationError("Operation failed", user_id=123, retry_count=3)
Source code in provide/foundation/errors/base.py
Functions¶
add_context
¶
Add context data to the error.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Context key (use dots for namespacing, e.g., 'aws.region'). |
required |
value
|
Any
|
Context value. |
required |
Returns:
| Type | Description |
|---|---|
FoundationError
|
Self for method chaining. |
Source code in provide/foundation/errors/base.py
to_dict
¶
Convert exception to dictionary for structured logging.
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Dictionary representation suitable for logging/serialization. |