Source code for python_utils.exceptions

"""
This module provides utility functions for raising and reraising exceptions.

Functions:
    raise_exception(exception_class, *args, **kwargs):
        Returns a function that raises an exception of the given type with
        the given arguments.

    reraise(*args, **kwargs):
        Reraises the current exception.
"""

from . import types


[docs] def raise_exception( exception_class: types.Type[Exception], *args: types.Any, **kwargs: types.Any, ) -> types.Callable[..., None]: """ Returns a function that raises an exception of the given type with the given arguments. >>> raise_exception(ValueError, 'spam')('eggs') Traceback (most recent call last): ... ValueError: spam """ def raise_(*args_: types.Any, **kwargs_: types.Any) -> types.Any: raise exception_class(*args, **kwargs) return raise_
[docs] def reraise(*args: types.Any, **kwargs: types.Any) -> types.Any: """ Reraises the current exception. This function seems useless, but it can be useful when you need to pass a callable to another function that raises an exception. """ raise