4

メソッド シグネチャの変更をキャプチャし、それが発生したときにエラーをスローしようとしています。しかし、宣言エラーは期待どおりに機能していません

@DeclareError("call(* a.b.C.method(..)) && !call(* a.b.C.method(int))")
public static final String errorMsg= "Signature error";

これは、常にこのメソッドの呼び出しと一致しています。

しかし、このポイントカットを @Before に移動すると、メソッド シグネチャが変更されない限り一致しなくなります。

ポイントカットに関する @DeclareError と @Before の動作が異なる理由について何か考えはありますか?

ありがとう

4

1 に答える 1