Module rusty_results.exceptions

Expand source code
from functools import wraps
from typing import TypeVar


class UnwrapException(Exception):
    ...


T = TypeVar("T")


class EarlyReturnException(ValueError):
    def __init__(self, value: T):
        self.value = value
        super().__init__(self.value)


def early_return(f):
    @wraps(f)
    def wrapper(*args, **kwargs):
        try:
            f(*args, **kwargs)
        except EarlyReturnException as e:
            return e.value
    return wrapper

Functions

def early_return(f)
Expand source code
def early_return(f):
    @wraps(f)
    def wrapper(*args, **kwargs):
        try:
            f(*args, **kwargs)
        except EarlyReturnException as e:
            return e.value
    return wrapper

Classes

class EarlyReturnException (value: ~T)

Inappropriate argument value (of correct type).

Expand source code
class EarlyReturnException(ValueError):
    def __init__(self, value: T):
        self.value = value
        super().__init__(self.value)

Ancestors

  • builtins.ValueError
  • builtins.Exception
  • builtins.BaseException
class UnwrapException (*args, **kwargs)

Common base class for all non-exit exceptions.

Expand source code
class UnwrapException(Exception):
    ...

Ancestors

  • builtins.Exception
  • builtins.BaseException