请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

统一异常处理

老师你好
1、程序可能会有一些不知道的异常出现,为了更好的体验,我增加了Exception来兜底,但是添加后我发现判断是否登录时抛出的UserLoginInterceptotException异常不能被UserLoginInterceptotException统一异常处理了,而是交给Exception统一异常处理,这是为什么(去掉Exception统一异常处理后恢复正常)

//用来兜底
	@ExceptionHandler(value = Exception.class)
    @ResponseBody
    public ResponseVo otherExceptionHandler(Exception e){
        log.error("【异常信息】",e);
        return ResponseVo.error(ResponseEnum.ERROR);
    }

2、对于统一异常处理,是对大部分可能出现的异常都设定一个处理吗?老师平时开发中是怎么处理的?

正在回答 回答被采纳积分+3

2回答

提问者 Lewis_lxc 2020-04-01 11:51:44

https://img1.sycdn.imooc.com//szimg/5e840fb4093994f503480062.jpg

这是那两个异常处理类

0 回复 有任何疑惑可以回复我~
廖师兄 2020-04-01 01:39:27
  1. 你把整个项目源码提交一下,我来看看。

  2. 只处理自己定义的异常

0 回复 有任何疑惑可以回复我~
  • 提问者 Lewis_lxc #1
    1、老师,我定义了两个异常处理类(我设想用于处理RuntimeException和其他异常),并且我把Exception统一异常处理和UserLoginInterceptorException异常处理分别放在这两个类中了,图片在上面回复中。今天我发现如果我把所有异常处理都放在一个类中,就不会有这种情况出现,难道不能定义两个@ControllerAdvice的类?
    2、对于你上面回复的第2条,只处理自己定义的异常的话,那除了自己定义的其他异常怎么办
    回复 有任何疑惑可以回复我~ 2020-04-01 11:50:35
  • 廖师兄 回复 提问者 Lewis_lxc #2
    1. 应该是按顺序判断的,spring加载类的顺序。
    2. 可以像你一样定义Exception,我想表达的意思是,遇到非自定义的异常,一定要告警,比如钉钉告警
    回复 有任何疑惑可以回复我~ 2020-04-02 23:43:08

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信