SpringBoot异常处理步骤流程

发布时间:2022-08-19 13:55

异常处理步骤流程

设置异常:
SpringBoot异常处理步骤流程_第1张图片


步骤:
1、执行目标方法,如果目标方法执行成功就返回ModelAndView,但是目标方法运行期间有任何异常都会被catch、而且标志当前请求结束;并且用 dispatchException封装异常
SpringBoot异常处理步骤流程_第2张图片

image.png

SpringBoot异常处理步骤流程_第3张图片


2、进入视图解析流程(页面渲染?)

processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException);

image.png
如果目标方法正确执行,mv就有值,但是上面目标方法有异常,所以mv就是空,并且dispatchException是算数异常
SpringBoot异常处理步骤流程_第4张图片


3、mv = processHandlerException;处理handler发生的异常,处理完成返回ModelAndView;

  • 1、遍历所有的 handlerExceptionResolvers,看谁能处理当前异常【HandlerExceptionResolver处理器异常解析器
    SpringBoot异常处理步骤流程_第5张图片
    处理完异常后,如果结果不为空,就返回ModelAndView
    SpringBoot异常处理步骤流程_第6张图片

    2、系统默认的 异常解析器;
    SpringBoot异常处理步骤流程_第7张图片

    • 1、DefaultErrorAttributes先来处理异常。把异常信息保存到rrequest域,并且返回null;

      • SpringBoot异常处理步骤流程_第8张图片
      • SpringBoot异常处理步骤流程_第9张图片

      • 相当于调用这个方法,这个接口规定如果自定义了一个异常解析器,刚才是哪个目标方法发生了异常,然后可以在这个方法内部自定义这个异常该怎么处理,只需要返回一个ModelAndView。所以最终你哪怕是自定义异常解析器,你也要给我返回一个ModelAndView,这样spring底层就会知道异常处理完要跳转到哪个页面,页面里放什么数据。
        SpringBoot异常处理步骤流程_第10张图片

        遍历完默认的异常解析器后发现处理不了,所以异常会被抛出

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号