美文网首页
java优雅的进行异常处理

java优雅的进行异常处理

作者: wanggs | 来源:发表于2020-08-27 15:06 被阅读0次

    一、定义一个异常的枚举类

    @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);
    

    相关文章

      网友评论

          本文标题:java优雅的进行异常处理

          本文链接:https://www.haomeiwen.com/subject/dkicsktx.html