SpringBoot学习13:springboot异常处理方式3(使用@ControllerAdvice+@ExceptionHandle注解)
2024-08-29 05:40:10
问题:使用@ExceptionHandle注解需要在每一个controller代码里面都添加异常处理,会咋成代码冗余
解决方法:新建一个全局异常处理类,添加@ControllerAdvice注解即可
package com.bjsxt.exception; import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView; /**
* Created by Administrator on 2019/2/14.
* 全局异常处理类
*/ @ControllerAdvice
public class GlobalException {
/**
* 处理ArithmeticException异常,该@ExceptionHandler注释的value属性可以是一个数组,
* 然后再根据注入的exception判断对不同异常分别进行不同的处理,也可以写多个controller,
* 对多个不同异常进行处理,这里采用第二种
* @param e 会将产生异常对象注入到方法中
* @return 该方法需要返回一个 ModelAndView:目的是可以让我们封装异常信息以及视图的指定
*/
@ExceptionHandler(value = {ArithmeticException.class})
public ModelAndView arithmeticExceptionHandler(Exception e){
ModelAndView mv=new ModelAndView("error_arithmetic");
mv.addObject("msg",e.toString());
return mv;
} /**
* 处理NullPointerException异常
* @param e 会将产生异常对象注入到方法中
* @return 该方法需要返回一个 ModelAndView:目的是可以让我们封装异常信息以及视图的指定
*/
@ExceptionHandler(value = {NullPointerException.class})
public ModelAndView nullPointerExceptionHandler(Exception e){
ModelAndView mv=new ModelAndView("error_nullPointer");
mv.addObject("msg",e.toString());
return mv;
}
}
最新文章
- Disruptor-NET和内存栅栏
- 关闭tomcat, 部署并启动tomcat的脚本
- C# 值类型和引用类型
- inotify+rsync目录实时同步
- 使用git提交github代码
- mahout安装配置
- 【剪枝】HDU 1010——tempter of the bone
- android如何用adb shell启动应用程序
- JavaScript插件——模态框
- overthewire朝花夕拾
- Notepad++ 使用探索
- Http 压测工具 wrk 基本使用
- Linux操作系统上要慎用的6个命令及防范方法
- Haproxy 配置 ACL 处理不同的 URL 请求
- Spring中@Autowired注解、@Resource注解的区别 (zz)
- HDU--Elevator(水题)
- 【刷题】BZOJ 1211 [HNOI2004]树的计数
- springboot pom 详解
- 模块—— 序列化模块、random模块、os模块 、 sys模块、hashlib模块、collections模块
- 帝国cms伪静态设置方法(收藏)