美文网首页
使用Java枚举类绑定错误码与提示信息

使用Java枚举类绑定错误码与提示信息

作者: XueliHu | 来源:发表于2018-11-20 13:44 被阅读0次

    在业务代码中,经常需要提示码和提示信息绑定的问题,特别是在处理一些错误提示业务的时候,一般会有专门的错误类,该类中包含特定的错误码和提示信息,这种错误提示的类可以定义为枚举类,在改枚举类中定义错误码与提示信息,如下所示:

    <code>

    public Enum ExampleErrorCode {

    //枚举实例

    NAME_CONFLICT(1000, "重复命名"),
    
    NAME_INVALID(1001,"名称无效")
    

    //定义成员

    private final Integer val;
    
    private String message;
    
    ExampleErrorCode(Integer val, String message) {
    
        this.val = val;
    
        this.message = message;
    
    }
    

    }

    </code>

    有些场景下需要动态的改变提示信息的局部内容,比如用户登录,连续输错密码,需要给出提示信息:再错n次用户将锁定用户的场景下,n每次都不一样,此时需要将需要改变的部分抽取出来,在获取输出信息的时候进行处理,代码如下:

    
    public Enum ExampleErrorCode {
    
    //枚举实例
    
    NAME_CONFLICT(1000, "重复命名"),
    
    NAME_INVALID(1001,"名称无效")
    
    //定义成员
    
    private final Integer val;
    
    private String message;
    
    private String[] param
    
    ExampleErrorCode(Integer val, String message) {
    
            this.val = val;
    
            this.message = message;
    
        }
    
    public ExampleErrorCode withParams(String... params) {
    
            this.param = params;
    
            return this;
    
    }
    
    //省略val的get方法
    
    public String getMessage() {
    
    if (params != null) {
    
        return String.format(message, params);
    
    }
    
    }
    
    }
    
    

    在实际使用中可以这样用:

    在Example中添加错误:

    
    LOGINERROR(1002, "还剩%s次锁定用户");
    
    

    在业务逻辑中使用该错误:

    
    String errorMessge = Example.LOGINERROR.withParams(String.valueOf(n)).getMessage();
    
    

    相关文章

      网友评论

          本文标题:使用Java枚举类绑定错误码与提示信息

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