2017-10-19 1 views
0

여기 내 예입니다예외가 삼킨 경우, 봄 AOP는 예외 메시지를 어떻게 기록합니까?

public void test() throws Exception { 
    try { 
     int i = 1/0; 
     System.out.println(i); 
    } catch (Exception e) { 
     //the exception have been swallowed. 

    } 
} 

하고 문제가이 작동 할 수없는 스프링 AOP의 AfterThrowing입니다 울부 짖는 소리. try-catch 블록을 제거하면 잘 작동합니다. 어떻게이 문제를 해결할 수 있습니다. 어떤 제안에도 감사드립니다.

답변

0

당신이 달성하고자하는 것이 분명하지 않지만 이것은 의도 한 행동 인 @AfterThrowing 조언입니다. A는 예외를 던져 메소드 실행 종료와 일치 할 때 조언 실행을 던지는 후

-docs에서

.

즉, 조언은 메소드에서 예외가 발생하는 경우에만 실행됩니다. 샘플에서는 예외가 소비되고 메소드가 정상적으로 종료되므로 조언을 실행하지 않습니다.

+0

설명에 따라이 문제를 해결할 방법이 없습니까? – Joyner

+0

네, 스프링 AOP의 의도 된 동작입니다. 네가 할 수있는 유일한 방법은 catch 블록에서 다시 던지는 것이다. –

관련 문제