为了更加友好的进行错误提示 不要出现乱七八糟的错误 增加网络错误提示。

MaskException

import java.lang.annotation.*;

/**

  • 屏蔽异常,统一返回友好提示
    */

@Target(ElementType.METHOD) // 只能用在方法上
@Retention(RetentionPolicy.RUNTIME) // 运行时生效
public @interface MaskException {

String message() default "当前网络环境较差,请刷新"; // 可自定义错误消息

}

MaskExceptionAspect

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;

@Aspect // 声明这是一个切面
@Component // 交给Spring管理
@Slf4j // 使用Lombok的日志(可选)
public class MaskExceptionAspect {

/**
 * 拦截所有被 @MaskException 注解的方法
 */
@Around("@annotation(maskException)") // 匹配注解
public Object around(ProceedingJoinPoint joinPoint, MaskException maskException) {
    try {
        // 正常执行方法
        return joinPoint.proceed();
    } catch (Throwable e) {
        // 记录真实异常(方便排查)
        log.error("方法执行异常: ", e);
        // 返回统一的错误提示
        return AjaxResult.error(maskException.message());
    }
}

}