I have some jQuery code that makes a REST call to a Java back end. Processing of the back end function could encounter an Exception. What is the best way to get this infor
Use the servlet response object's sendError
method, which lets you set the status code and status text message.
Documentation
Example EDIT
The jqXHR parameter gives you access to all of the response information including the status message.
jqXHR.statusText
will give you the status message passed in to the sendError
method.
If you need more than a short message you can write data to the response output and get that from jqXHR.responseText
or jqXHR.responseXML
.
I was able to send a custom error message (java String) back to a jQuery based client this way. I think my custom message can be replaced with the exception info you want/need
public static void handleRuntimeException(Exception ex, HttpServletResponse
response,String message) {
logger.error(ex);
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
response.getWriter().write(message);
response.flushBuffer();
}
displayError:function(jqXHR, textStatus, errorThrown){
if(jqXHR.responseText !== ''){
alert(textStatus+": "+jqXHR.responseText);
}else{
alert(textStatus+": "+errorThrown);
}
}
Hope this helps/