24.2. RESTEasy Built-in Internally-Thrown Exceptions

RESTEasy has a set of built-in exceptions that are thrown when an error is encountered during dispatching or marshalling. Each exception matches a specific HTTP error code. The full list is available in the RESTEasy Java Documentation, under the org.jboss.resteasy.spi package. The following table lists the most common exceptions:

Table 24.1. Common Exceptions

Exception HTTP Code Description
BadRequestException 400 Bad Request. Request was not formatted correctly or there was a problem processing request input.
UnauthorizedException 401 Unauthorized. Security exception thrown if you use RESTEasy's simple annotation- and role-based security.
InternalServerError Exception 500 Internal Server Error.
MethodNotAllowed Exception 405 Method Not Allowed. There is no JAX-RS method for the resource that can handle the invoked HTTP operation.
NotAcceptableException 406 Not Acceptable. There is no JAX-RS method that can produce the media types listed in the Accept header.
NotFoundException 404 Not Found. There is no JAX-RS method that serves the request path/resource.
Failure N/A Internal RESTEasy. Not logged.
LoggableFailure N/A Internal RESTEasy error. Logged.
DefaultOptionsMethod Exception N/A If the user invokes HTTP OPTIONS without a JAX-RS method, RESTEasy provides a default behavior by throwing this exception.