当前位置:   article > 正文

Spring boot自定义异常处理(全局异常处理)_springboot自定义异常处理

springboot自定义异常处理

1.编写自定义异常类

继承RuntimeException

  1. public class LoginException extends RuntimeException{
  2. public LoginException(String message) {
  3. super(message);
  4. }
  5. }

注:spring 对于 RuntimeException 异常才会进行事务回滚

2.编写全局异常处理类

  1. @RestControllerAdvice
  2. public class ExceptionController{
  3. // 当捕获的异常 是 LogicException异常的时候
  4. @ExceptionHandler(LoginException.class)
  5. public Object LxExp(Exception e, HttpServletResponse response){
  6. response.setContentType("application/json;charset=utf-8");
  7. return JsonResult.error(JsonResult.CODE_ERROR,e.getMessage(),null);
  8. }
  9. // 当捕获运行运行时异常
  10. @ExceptionHandler(RuntimeException.class)
  11. public Object runtimeExp(Exception e, HttpServletResponse response){
  12. response.setContentType("application/json;charset=utf-8");
  13. return JsonResult.error(JsonResult.CODE_ERROR,JsonResult.MSG_ERROR,null);
  14. }
  15. }
  • @ExceptionHandler 配置的 value 指定需要拦截的异常类型,上面拦截了 Exception.class 这种异常

  • @RestControllerAdvice都是对Controller进行增强的,可以全局捕获spring mvc抛的异常

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号