一、定义一个异常的枚举类
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum ExceptionEnum {
PRICE_CANNOT_BE_NULL(400, "价格不能为空"),
PARAM_CANNOT_BE_NULL(400, "参数不能为空"),
CATEGORY_NOT_FOUND(404, "商品分类没有找到"),
SPEC_GROUP_NOT_FOUND(404, "商品规格组没有查到"),
BRAND_SAVE_ERROR(500, "新增品牌失败"),
GOODS_SAVE_ERROR(500, "新增商品失败"),
BRAND_NOT_FOUND(404, "品牌没有找到"),
UPLOAD_FILE_ERROR(500, "文件上传失败"),
INVALID_FILE_TYPE(400, "无效文件类型"),
SPEC_PARAM_NOT_FOUND(404,"商品规格参数不存在"),
GOODS_NOT_FOUND(404,"商品不存在"),
SPU_DETAIL_NOT_FOUND(404, "商品详情不存在"),
GOODS_SKU_NOT_FOUND(404,"sku没有找到");
private int code;
private String msg;
}
二、定义一个异常的结果集
// 自定义异常处理.vo
@Data
public class ExceptionResult {
private int status;
private String message;
private Long timestamp;
public ExceptionResult(ExceptionEnum exceptionEnum) {
this.status = exceptionEnum.getCode();
this.message = exceptionEnum.getMsg();
this.timestamp = System.currentTimeMillis();
}
}
三、 自定义一个异常,继承RunTimeException,里面放着定义的枚举类
1.实例
// 自定义异常
@NoArgsConstructor
@AllArgsConstructor
@Getter
public class CarryExcepttion extends RuntimeException {
private ExceptionEnum exceptionEnum;
}
// 测试
// throw new CarryExcepttion(ExceptionEnum.BRAND_NOT_FOUND);
2.实例
@Getter
public class SellException extends RuntimeException {
private Integer code;
public SellException(ResultEnum resultEnum) {
super(resultEnum.getMessage());
this.code = resultEnum.getCode();
}
public SellException(Integer code, String message) {
super(message);
this.code = code;
}
}
// 测试
// throw new SellException(ResultEnum.ORDER_DETAIL_EMPTY);
四、创建一个通知,拦截异常
<font color=#999AAA >提示:这里可以添加要学的内容
例如:
1、 搭建 Java 开发环境
2、 掌握 Java 基本语法
3、 掌握条件语句
4、 掌握循环语句
<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
五、使用自定义的异常
// 测试
throw new CarryExcepttion(ExceptionEnum.BRAND_NOT_FOUND);
网友评论