5开头的错误码都是服务器异常
默认:
自定义:
异常处理流程:
1.执行目标方法,目标方法运行期间,有任何异常都会被catch,而且标志当前请求结束.并且用dispatchException来封装
2.异常被捕获后,进入视图解析流程,里面传来dispatchException参数
this.processDispatchResult(processedRequest, response, mappedHandler, mv, (Exception)dispatchException);
//此方法调用了如下方法
mv = this.processHandlerException(request, response, handler, exception);
3.mv = this.processHandlerException(request, response, handler, exception):处理异常返回mv
具体流程:如果异常不为空,遍历所有的处理器异常解析器,看谁能处理这个异常.
如果都不能解析,就将异常抛出去
如果没任何人能处理,会将此请求以/error请求转发出去,这个请求被底层的BasicErrorController处理
怎么处理?
遍历所有错误视图解析器,来解析:
如果是默认的错误视图解析器,解析如下:把响应状态码作为错误地址,拼接成error/xxx.html
如果自定义: