Skip to content

Result Access Error

result_access_error

Errors raised when accessing Result.value or Result.error on the wrong variant

ResultAccessError

Bases: Error[dict[str, object]]

Exception raised when trying to access value or err from an inappropriate Result variant.

Source code in src/forging_blocks/foundation/errors/result_access_error.py
class ResultAccessError(Error[dict[str, object]]):
    """Exception raised when trying to access value or err from an inappropriate Result variant."""

    def __init__(self, message: ErrorMessage | None = None) -> None:
        """Initialise with an optional custom error message.

        Args:
            message: Optional `ErrorMessage` describing the invalid
                access. Defaults to a generic message when not provided.
        """
        message = message or ErrorMessage("Invalid access on Result type.")
        super().__init__(message)

    @classmethod
    def cannot_access_value(cls) -> "ResultAccessError":
        """Create an error for accessing value from an Err Result."""
        return cls(ErrorMessage("Cannot access value from an Err Result."))

    @classmethod
    def cannot_access_error(cls) -> "ResultAccessError":
        """Create an error for accessing error from an Ok Result."""
        return cls(ErrorMessage("Cannot access error from an Ok Result."))

__init__(message: ErrorMessage | None = None) -> None

Initialise with an optional custom error message.

Parameters:

Name Type Description Default
message ErrorMessage | None

Optional ErrorMessage describing the invalid
access. Defaults to a generic message when not provided.

None
Source code in src/forging_blocks/foundation/errors/result_access_error.py
def __init__(self, message: ErrorMessage | None = None) -> None:
    """Initialise with an optional custom error message.

    Args:
        message: Optional `ErrorMessage` describing the invalid
            access. Defaults to a generic message when not provided.
    """
    message = message or ErrorMessage("Invalid access on Result type.")
    super().__init__(message)

cannot_access_value() -> ResultAccessError classmethod

Create an error for accessing value from an Err Result.

Source code in src/forging_blocks/foundation/errors/result_access_error.py
@classmethod
def cannot_access_value(cls) -> "ResultAccessError":
    """Create an error for accessing value from an Err Result."""
    return cls(ErrorMessage("Cannot access value from an Err Result."))

cannot_access_error() -> ResultAccessError classmethod

Create an error for accessing error from an Ok Result.

Source code in src/forging_blocks/foundation/errors/result_access_error.py
@classmethod
def cannot_access_error(cls) -> "ResultAccessError":
    """Create an error for accessing error from an Ok Result."""
    return cls(ErrorMessage("Cannot access error from an Ok Result."))