Class ResponseException

  • All Implemented Interfaces:
    Serializable
    Direct Known Subclasses:
    UmaException

    public class ResponseException
    extends Exception
    An HTTP Framework Exception that can be used by filters/handlers to simplify control-flow inside async call-backs.

    As a developer, it's still useful to be able to use try-catch blocks, even if the catch block converts the ResponseException to a Promise<Response, ...>.

    Note that this is a convenience class offered by the HTTP Framework, there is no requirement to use it in Filter or Handler implementations:

    • Ease control-flow inside async call-backs or in synchronous code
    • Contains a Response that may be used to forward an error message without losing detailed information about the cause of the failure
    • Contained Response may be automatically associated to this exception in order to keep track of the original failure
    See Also:
    Response.getCause(), Serialized Form
    • Constructor Detail

      • ResponseException

        public ResponseException​(String message)
        Constructs a ResponseException using the given message.
        Parameters:
        message - Error message
      • ResponseException

        public ResponseException​(Response response)
        Constructs a ResponseException using the given response. The provided Response won't be linked to this exception.
        Parameters:
        response - Response
        See Also:
        Response.setCause(Exception), getResponse()
      • ResponseException

        public ResponseException​(String message,
                                 Throwable cause)
        Constructs a ResponseException using the given message and parent cause. This constructor also build a Response object that will be linked to this exception instance.
        Parameters:
        message - Error message
        cause - Error cause
      • ResponseException

        public ResponseException​(Response response,
                                 String message,
                                 Throwable cause)
        Constructs a ResponseException using the given response, message and parent cause. The provided Response won't be linked to this exception.
        Parameters:
        response - response object
        message - Error message
        cause - Error cause
    • Method Detail

      • getResponse

        public Response getResponse()
        Returns the response associated to this exception. It is intended to be used when propagating a specific Response message (constructed at the point where the original error occurred) in try-catch blocks:
             try {
                 doSomeStuff(request);
               } catch (ResponseException e) {
                 return Promises.newResultPromise(e.getResponse());
               }
         

        It can also be used as an informal pointer to the message that caused the exception (Client API usage)

        Returns:
        the response linked to this exception.