@Test(expected = Exception.class) public void afterThrowingIsNotCalledIfMethodThrowsException() throws Exception { assertFalse(afterThrowingAdvice.isAfterThrowingCalled()); try { simpleService.throwsException(); } finally { assertFalse(afterThrowingAdvice.isAfterThrowingCalled()); } }
boolean isAfterThrowingCalled() { return afterThrowingCalled; }
AfterThrowingAdvice { boolean isAfterThrowingCalled() { return afterThrowingCalled; } }
AfterThrowingAdvice { boolean isAfterThrowingCalled() { return afterThrowingCalled; }  }
AfterThrowingAdvice { boolean isAfterThrowingCalled() { return afterThrowingCalled; }  void reset(); @AfterThrowing(pointcut = "execution(void throwsRuntimeException())", throwing = "ex") void logException(RuntimeException ex); }
AfterThrowingAdvice { boolean isAfterThrowingCalled() { return afterThrowingCalled; }  void reset(); @AfterThrowing(pointcut = "execution(void throwsRuntimeException())", throwing = "ex") void logException(RuntimeException ex);  }