- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有以下内容:
@AfterReturning("executionOfTrustedAnnotatedMethod()")
public void afterReturningFromTrustedMethodExecution() { ... }
@AfterThrowing(pointcut = "executionOfTrustedAnnotatedMethod()")
public void afterThrowingByExecutionOfTrustedAnnotatedMethod() { ... }
我观察到这种对我来说没有意义的行为:
我想要完成的是在方法执行结束时运行一些代码,而不管是否抛出异常。但是现在这段代码运行两次(如果我有 afterReturning 和 afterThrowing)或者根本不运行(如果我只有 afterReturning)如果抛出异常。
有什么建议吗?
谢谢,彼得
最佳答案
如果你想在方法之后执行代码而不管是否抛出异常,你需要使用 @After
代替。
关于java - 为什么@AfterReturning 只在@AfterThrowing 之后执行异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4304676/
我想使用AOP来拦截所有在服务层抛出的运行时异常,并作为领域异常重新抛出。 @Aspect @Component public class ExceptionWrapperInterceptor {
我有一个带有以下签名的方法 我想在捕获切点后记录异常,现在当我执行代码时,它会在控制台上抛出异常打印,然后到达我的切点定义的方法,可能是因为它是 @AfterThoring 注释,但有没有可用的 @B
当我的系统抛出异常时,应该调用下面的方法,但事实并非如此。它仅在我从注释中删除“throwing”并将“Exception”作为参数时才有效: 不起作用: @AfterThrowing(pointcu
我的应用程序类路径中有aspectjrt-1.5.4.jar、aspectjweaver-1.6.1.jar、org.springframework.aop-3.0.5.RELEASE.jar。 我的
我有以下奇怪的行为。 当我使用命名切入点时,建议的方法在 @AfterThrowing 的主体之前运行带注释的方法。但是如果我使用内联切入点 @AfterThrowing带注释的首先运行。 为什么会这
我遇到了一种情况,我想模拟 Web 服务调用。我使用的方法是,如果服务关闭,它会抛出异常。我打算在 spring 中使用 ThrowAdvice AOP 来使用该异常,并希望抑制该异常并用我的虚拟对象
package test.aop; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterThrowin
在 AspectJ 中,我想吞下一个异常。 @Aspect public class TestAspect { @Pointcut("execution(public * *Throwable(..
我有以下内容: @AfterReturning("executionOfTrustedAnnotatedMethod()") public void afterReturningFromTrusted
我在使用 AspectJ 使用自定义注释进行切入点时遇到了奇怪的行为。 我使用的切入点是: @AfterThrowing(pointcut="@annotation(com.core.meta.Not
我们使用 Spring AOP 和 Log4j 来登录我们的应用程序。我在应用程序中实现了@Before、@After、@AfterThrowing 建议。但我面临以下问题: 当 catch bloc
当尝试实现一个负责捕获和记录某种类型错误的 Aspect 时,我最初认为使用 AfterThrowing 建议可以实现这一点。然而,他的建议似乎没有捕捉到异常,而只是提供了一个额外的入口点来处理异常。
我对 AOP 完全陌生。我需要建议来编写正确的切入点。我有一个包含所有服务类的服务包。所有类都实现了 Service界面。这个接口(interface)有一个方法 save(entity) .我的建议
我对 AOP 完全陌生。我需要建议来编写正确的切入点。我有一个包含所有服务类的服务包。所有类都实现了 Service界面。这个接口(interface)有一个方法 save(entity) .我的建议
我正在定义 @pointcut 表达式,如下所示。 @Pointcut( "execution(* com.xyz..*(..)) && " + "!within(is
我是一名优秀的程序员,十分优秀!