SpringBoot异常的设计的原理

SpringBoot异常的设计的原理

  • Springboot异常处理
  • SpringBoot异常的设计的原理

Springboot异常处理

在springboot项目中,我们可以直接在类中通过局部方法处理异常,也可以继承BasicErrorController 来实现或通过@ControllerAdvice 注解做异常统一处理。在没有做处理时,springboot有默认的错误处理机制——显示默认的错误页面;默认的响应json数据(包含异常发生时间,异常状态,异常详细信息,发生异常的请求路径)。

SpringBoot异常的设计的原理

发生异常时,前端控制器调用全局异常处理器进行处理。

  1. springboot默认错误处理机制:
    源码中定制错误的响应规则,默认/error请求为错误请求;BasicErrorController,这个类是默认处理/error请求的,它包含errorHtml和error两个方法,前者返回ModelAndView,后者返回json数据;DefaultErrorViewResolver,指定浏览器响应的错误页面,发生异常时其中resolver方法会解析异常处理地址,得到与错误状态码对应的视图。
  2. 自定义异常处理:
    1)直接在Controller做处理。在Controller处理异常的方法上加上@ExceptionHandler(需要处理的那些异常类);
    2)通过@ControllerAdvice 注解来处理统一错误。自定义一个异常处理类加上@ControllerAdvice注解,通过@ExceptionHandler(指定异常类)触发不同的处理方法。

你可能感兴趣的:(SpringBoot异常的设计的原理)