def METHOD_NAME(*args: P.args, **kwargs: P.kwargs):
    try:
        return func(*args, **kwargs)
    except exc_type as exc:
        for listener in listeners:
            listener(exc, func, args, kwargs)
        return value_on_except(value, exc)