异常通知(@AfterThrowing)

Exisi 2022-11-28 08:48:31
Categories: Tags:


 

参数

描述

argNames

在没有调试信息的编译时,或者在运行时解释切入点时,通知声明中使用的任何参数的名称都不可用

pointcut

要绑定通知的切入点表达式在指定时覆盖“value”

throwing

通知签名中要将抛出的异常绑定到的参数的名称

value

要绑定通知的切入点表达式

示例

@Aspect

@Component

@Slf4j

public class LogAspectHandler {

    /**

     * 在上面定义的切面方法执行抛异常时,执行该方法

     * @param joinPoint jointPoint

     * @param ex ex

     */

    @AfterThrowing(pointcut = "pointCut()", throwing = "ex")

    public void afterThrowing(JoinPoint joinPoint, Throwable ex) {

        Signature signature = joinPoint.getSignature();

        String method = signature.getName();

        // 处理异常的逻辑

        log.info("执行方法{}出错,异常为:{}", method, ex);

    }

}