异常处理:异常处理器

开发中前后端分离下的异常处理

Posted by lily on May 8, 2023

为什么要特别关注异常的处理

  1. 后端出现异常时前端以及其他调用方无法得知出现了什么异常,无法进行相应的处理
  2. 后端内部,每一层都可能出现异常,需要一个统一处理的方式:统一抛出到表现层处理
  3. springMVC内置了异常处理方法:异常处理器

异常处理器

关键注解

  1. @ControllerAdvice:异常处理器
  2. @RestControllerAdvice:异常处理器 rest开发风格下的异常处理器
  3. @ExceptionHandler(exception.class):异常处理方法,声明该方法拦截的异常类型
  4. @ResponseStatus 注解用于为 HTTP 响应指定状态码。在处理异常时,您可以将此注解添加到异常类上,以便自动为抛出的异常设置对应的 HTTP 状态码

原理

  1. SpringMVC中的异常处理器是基于AOP实现的,AOP可以把异常处理器织入到Controller中,代码层面看起来就好像把异常处理抽出,放到一个通知类中统一处理