質問を編集したり、質問に関する詳細を尋ねたりすることを躊躇しないでください。
asを使用して以下の方法を実行できることlog
はわかっていますが、ArithmeticException
aspectJ
public void afterThrowingAspect(){
System.out.println("This is afterThrowingAspect() !");
int i=2/0;
System.out.println("i value : "+i);
}
AspectJ クラスには、
@AfterThrowing(pointcut = "execution(* com.pointel.aop.test1.AopTest.afterThrowingAspect(..))",throwing= "error")
public void logAfterError(JoinPoint joinPoint,Throwable error) {
System.out.println("Hi jacked Method name : " + joinPoint.getSignature().getName());
log.info("Method name : " + joinPoint.getSignature().getName());
log.info("Error report is : " + error);
}
TRY
通常、 andCATCH
ブロックを使用して例外を処理log
し、everyCATCH
ブロックのエラーを次のように処理できます。
public void someMehtod(){
try{
int i=2/0;
System.out.println("i value : "+i);
}catch{ArithmeticException err){
log.info("The exception you got is : " + err);
}
}
しかし、私のプロジェクトのすべてのクラスで、すべてのブロックを個別に処理するのはlogging
好きではありません。catch
java
log.info("The exception you got is : " + err);
クラスを使用して、アプリケーションでlogging
内部CATCH
ブロックを実行したいと思います。aspectJ
皆さんが私の質問を理解してくれることを願っています。ありがとう。