springboot错误处理之异常处理步骤

1、执行目标方法,目标方法运行期间有任何异常都会被catch、而且标志当前请求结束;并且用dispatchException
2、进入视图解析流程(页面渲染)
processDispatchResult(processedRequest.response,mappedHandler,mv,dispatchException);
3、mv = processHandlerException; 处理handler发生的异常,处理完成返回ModelAndView
(1)遍历所有的handlerExceptionResolver,看谁能处理当前异常【HandlerExceptionResolver处理器异常解析器】
在这里插入图片描述
(2)系统默认的异常解析器:
在这里插入图片描述
①DefaultErrorAttributes先来处理异常,把异常信息保存到request域,并且返回null
在这里插入图片描述
②默认没有任何人能处理异常,所以异常会被抛出
1)如果没有任何人能处理最终底层就会发送/error请求,会被底层的BasicErrorController处理
2)解析错误视图,遍历所有的ErrorViewResolver看谁能解析,默认只有一个
在这里插入图片描述
3)默认的DefaultErrorViewResolver,作用是把响应状态码作为错误页的地址,拼接成error/500.html
4)模板引擎最终响应这个页面error/500.html
5)一般不带请求参数或者参数类型不对,400:bad request 一般都是浏览器的参数没有传递正确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值