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;
    }
}
相关推荐
云烟成雨TD20 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
于慨20 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg32132120 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald20 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
@yanyu66620 小时前
07-引入element布局及spring boot完善后端
javascript·vue.js·spring boot
殷紫川20 小时前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月20 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming66620 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川20 小时前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo21 小时前
查看 Tomcat 的堆内存参数
java·tomcat