1. 碰到了一个极其奇怪的问题

No constructor found in javax.management.relation.Role matching [java.lang.Integer, java.lang.String]

结果发现是引用的Role包出错了,我是不是傻子???

2. 又遇到另外一个问题:

我在切面中抛出自己创建的异常,最后用spring boot的统一异常处理代码来处理异常,结果发现总是没办法获取到异常。报错如下:

java.lang.reflect.UndeclaredThrowableException  

结果发现,其实是代理模式(Proxy)搞得鬼,Proxy给我们的异常外面添加了一层外套,然后自己定义的代码就没办法识别它了,所以我是这样解决的。

     @ExceptionHandler(value = Exception.class)
     @ResponseBody
     public ModelAndView handler( Exception e){
       
       ModelAndView modelAndView = new ModelAndView();
       RequestException requestException = (RequestException) e.getCause();//通过getCause()函数来获取最初的造成异常的原因,这样就能正确的处理我们自己定义的异常了,真的是很秀啊
        
       modelAndView.addObject("error",requestException.getError().errorMessage);
       modelAndView.setViewName("html/error");
       return modelAndView;
           
     }

 

相关文章:

  • 2021-11-04
  • 2021-07-24
  • 2021-09-16
  • 2021-09-03
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-22
  • 2021-06-29
  • 2022-12-23
  • 2021-09-19
  • 2021-10-30
  • 2021-04-19
  • 2021-07-29
相关资源
相似解决方案