def METHOD_NAME(value_func: Callable[[str], R]) -> Callable[[Exception], R]:
    '''将异常信息通过str转换为返回值的函数
    进行检查后，将异常信息转换为字符串，再转换为返回值
    主要用于捕获单参数异常，如``AssertionError``等
    Args:
        value_func(Callable[[str], R]): 将字符串转换为返回值的函数
    Returns:
        Callable[[Exception], R]: 将异常信息转换为返回值的函数，
            当不传入异常信息或传入的异常信息不是恰好一个参数的异常时抛出异常
    '''
    @wraps(value_func)
    def wrapper(exc_info: Exception) -> R:
        assert isinstance(exc_info, Exception)
        assert len(exc_info.args) == 1
        # str(exc_info) 应当等价于 str(exc_info.args[0])
        return value_func(str(exc_info))
    return wrapper