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

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

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;

}

}

有些场景下需要动态的改变提示信息的局部内容,比如用户登录,连续输错密码,需要给出提示信息:再错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枚举类绑定错误码与提示信息)