thisEnclosingJoinPointStaticPart

thisEnclosingJoinPointStaticPart

我正在使用切入点记录方面的所有异常。基本上,我这样做是为了记录捕获到异常的方法的名称。为了获得该方法的名称,我一直在使用thisEnclosingJoinPointStaticPart,并且在我迁移到Java 8和AspectJ 1.8.0之前,它一直可以正常工作。

现在,由于出现以下错误,我的旧方面将不再编译:“本地变量thisEnclosingJoinPointStaticPart可能尚未初始化”。

这是我的样子。

pointcut exceptionLogging(Exception e) : handler(Exception+) && args(e);

before(Exception e) : exceptionLogging(e) {
    String method = thisEnclosingJoinPointStaticPart.getSignature().getName();
}

最佳答案

我也失败了。我认为您正在使用https://bugs.eclipse.org/bugs/show_bug.cgi?id=431976的变体。该错误涵盖了thisJoinPoint的情况,但是我将添加有关thisEnclosingJoinPointStaticPart的注释。这是由于AspectJ现在基于Eclipse Java8编译器中进行了新的变量使用流分析。

10-01 05:02