小编Pra*_*ore的帖子

如何使用 ControllerAdvice 中的 ExceptionHandler 处理从控制器中的 ExceptionHandler 抛出的异常?

我有自定义异常扩展异常(MyException1、MyException2、MyException3)

@Controller
public class MyController {
    /*
       Method throwing MyException1
       Method throwing MyException2
       Method throwing MyException3
    */

    @ExceptionHandler(MyException1.class)
    public void handleMyException1(Exception ex){
        //Do something
        throw ex;
    }
    @ExceptionHandler(MyException2.class)
    public void handleMyException2(Exception ex){
        System.out.println("Exception Logged inside Controller")
    }
}

@ControllerAdvice
public class MyGlobalExceptionHandler {
    @ExceptionHandler(Exception.class)
    public void handleAllException(Exception ex){
        System.out.println("Exception logged Outside Controller");
    }
}
Run Code Online (Sandbox Code Playgroud)
我的意图:从控制器建议中记录 MyException1
              在控制器本身的处理程序中记录 MyException2
              从控制器建议记录 MyException3
MyException2 和 MyException3 按预期工作,但 MyException1 失败并显示
“无法调用 @ExceptionHandler 方法 .....handleMyException1”

java spring exception-handling spring-mvc spring-aop

6
推荐指数
1
解决办法
4976
查看次数