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
如果自定义:

本文介绍了服务器返回5开头错误码时的异常处理流程。详细解释了如何通过捕获异常并利用视图解析机制来处理这些错误,以及当无法解析异常时如何转发请求到/error路径进行进一步处理。
633

被折叠的 条评论
为什么被折叠?



