我遇到的Spring项目异常处理方式

48 阅读1分钟

第一种处理方式

@Data
public class Response<T> {
    private String code;
    private String message;
    private T data;

    public static <T> Response<T> exec(Consumer<Response<T>> consumer) {
        Response<T> response = new Response<>();
        response.setCode("200");
        response.setMessage("success");
        try {
            consumer.accept(response);
        } catch (Exception e) {
            // 异常在这里处理 
            response.setCode("500");
            response.setMessage(e.getMessage());
        }
        return response;
    }
}

第二种处理方式

@Data
public class Response<T> {
    private String code;
    private String message;
    private T data;
}
@RestControllerAdvice
public class ExceptionProcessor {

    @ExceptionHandler(Exception.class)
    public Response<String> handleException(Exception e) {
        Response<String> response = new Response<>();
        response.setCode("500");
        response.setMessage(e.getMessage());
        return response;
    }

}