@Override public Response toResponse(Exception exception) { logError(exception); Error error; int httpCode = isRuntimeClass(exception.getClass()) ? defaultRuntimeExceptionHttpCode : defaultCheckedExceptionHttpCode; try { Integer code = findCode(exception); if (code != null) { httpCode = code; } error = buildError(exception); if (hideExceptionClass) { error.setException(null); } if (hideMessage) { error.setMessage(null); } } catch (Exception e) { httpCode = 500; error = new Error(e); logError(e); } return Response.status(httpCode).entity(error).type(findMediaType()).build(); }