Spring异常拦截器

时间:2019-05-20 11:32:58

标签: java spring exception annotations

我有这样的代码:

 public void method1(){
  try{
      method2();
    }catch(Exception e){
        e.printStackTrace();
    }
 }
 public void method2(){
       throw new RuntimeException();
    }

我需要创建一个注释,它将处理该异常并引发另一个异常。

@MyExceptionAnnotation(message="MyExceptionTest", value = MyException.class)
public void method2(){
       throw new SpringException();
    }

我试图为此制作beanpostprocessor,但是它不起作用。

1 个答案:

答案 0 :(得分:1)

您不应向方法信息中介绍如何处理一个人抛出的异常。这是方法使用者的责任。如果您do something等于throw exception,那么

catch(Exception e) { exceptionHandler.handle(e); } 其中exceptionHandler知道如何处理每个异常。或者只是看到@ExceptionHandler

如果您仍然希望有特定的方式来处理特定的方法异常,请参见AOP和spring-aspect