Errors
provide.foundation.config.errors
¶
TODO: Add module docstring.
Classes¶
ConfigError
¶
ConfigError(
message: str,
*,
code: str | None = None,
context: dict[str, Any] | None = None,
cause: Exception | None = None,
**extra_context: Any
)
Bases: FoundationError
Base configuration error.
Source code in provide/foundation/errors/base.py
ParseError
¶
ParseError(
message: str,
*,
value: str | Any,
field_name: str | None = None,
expected_type: str | None = None,
valid_options: list[str] | None = None,
**kwargs: Any
)
Bases: ConfigError
Configuration value parsing failed.
Source code in provide/foundation/config/errors.py
ValidationError
¶
ValidationError(
message: str,
*,
value: Any,
field_name: str,
constraint: str | None = None,
**kwargs: Any
)
Bases: ConfigError
Configuration value validation failed.
Source code in provide/foundation/config/errors.py
Functions¶
format_invalid_value_error
¶
format_invalid_value_error(
field_name: str,
value: Any,
expected_type: str | None = None,
valid_options: list[str] | None = None,
additional_info: str | None = None,
) -> str
Create a standardized invalid value error message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field_name
|
str
|
Name of the field being parsed |
required |
value
|
Any
|
The invalid value |
required |
expected_type
|
str | None
|
Expected type (e.g., "boolean", "float") |
None
|
valid_options
|
list[str] | None
|
List of valid option strings |
None
|
additional_info
|
str | None
|
Additional context about the error |
None
|
Returns:
| Type | Description |
|---|---|
str
|
Formatted error message |
Examples:
>>> format_invalid_value_error("log_level", "INVALID", valid_options=["DEBUG", "INFO"])
"Invalid log_level 'INVALID'. Valid options: DEBUG, INFO"
>>> format_invalid_value_error("sample_rate", "abc", expected_type="float")
"Invalid sample_rate 'abc'. Expected: float"
Source code in provide/foundation/config/errors.py
format_validation_error
¶
format_validation_error(
field_name: str,
value: Any,
constraint: str,
additional_info: str | None = None,
) -> str
Create a standardized validation error message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field_name
|
str
|
Name of the field being validated |
required |
value
|
Any
|
The invalid value |
required |
constraint
|
str
|
Description of the constraint that failed |
required |
additional_info
|
str | None
|
Additional context |
None
|
Returns:
| Type | Description |
|---|---|
str
|
Formatted error message |
Examples:
>>> format_validation_error("port", 0, "must be between 1 and 65535")
"Value 0 for port must be between 1 and 65535"
>>> format_validation_error("sample_rate", 1.5, "must be between 0.0 and 1.0")
"Value 1.5 for sample_rate must be between 0.0 and 1.0"