SpringBoot异常处理之注解@ExceptionHander和@ControllerAdvice

springboot里处理异常有五种方式,看第2、3种:

2、注解@ExceptionHander

java 复制代码
@ExceptionHandler(value = {java.lang.NullPointerException.class})
public ModelAndView testExceptionHander(Exception e){
   ModelAndView modelAndView = new ModelAndView();
   modelAndView.addObject("exception",e);
   modelAndView.setViewName("error");
   return modelAndView;
}

java 复制代码
@ExceptionHandler(value = {java.lang.ArithmeticException.class})
public ModelAndView testExceptionHander1(Exception e){
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.addObject("exception",e);
    modelAndView.setViewName("error");
    return modelAndView;
}

3、注解@ControllerAdvice

java 复制代码
@ControllerAdvice
public class ErrorController {
    @ExceptionHandler(value = {java.lang.NullPointerException.class})
    public ModelAndView testExceptionHander(Exception e){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("exception",e);
        modelAndView.setViewName("error");
        return modelAndView;
    }
@ControllerAdvice
public class ErrorController {
    @ExceptionHandler(value = {java.lang.NullPointerException.class})
    public ModelAndView testExceptionHander(Exception e){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("exception",e);
        modelAndView.setViewName("error");
        return modelAndView;
    }

java 复制代码
    @ExceptionHandler(value = {java.lang.ArithmeticException.class})
    public ModelAndView testExceptionHander1(Exception e){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("exception",e);
        modelAndView.setViewName("error");
        return modelAndView;
    }
}
相关推荐
传奇开心果编程16 分钟前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
SL_staff18 分钟前
财务系统慎用低代码?从数据模型闭环看合规落地的技术实践
java·低代码·全栈
滕州市燕猫虎计算机科技工作室个体工商户27 分钟前
IDEA:Command line is too long
java·ide·intellij-idea
步行cgn1 小时前
Spring p 命名空间注入详解
java·前端·spring
YatHinLay1 小时前
MyBatis 流式查询实战:ResultHandler 处理海量数据
java
天天被压力1 小时前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python
张某布响丸辣2 小时前
附件下载的安全边界:路径白名单、NAS 哨兵文件与 Redis Lua 一次性令牌
java·redis·redis lua·nas哨兵
YatHinLay3 小时前
Spring Boot + Calcite 实现跨库查询
java
酷炫码神3 小时前
MosMos 创意效果与能力边界展示
java
Wang's Blog3 小时前
Java 接入Redis: 使用Jedis操作Redis
java·服务器·redis