@RestControllerAdvice
@Slf4j
public class ExceptionController {
@ResponseBody
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler(Exception.class)
public 返回的类型 validExceptionHandler(Exception e) {
// 根据 e 的类型做判断
Map<Class<?>, Function<Exception, String>> mapping = new HashMap<>();
mapping.putAll(
Map.of(
// 目标异常.class, ex -> { ... 要做的事情 } 这里返回以String代替
NullPointerException.class, ex -> "空指针异常"
// or
NullPointerException.class, ex -> {
// 干些什么,比如打印啥的
return "空指针异常"; // 这里想return啥return啥,根据“返回的类型”定
}
)
);
return mapping.getOrDefault(e.getClass(), ex -> "其他异常: " + e.getMessage()).apply(e);
}
}
java 异常拦截器
于 2024-08-09 01:19:36 首次发布