java枚举报错_使用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();


版权声明:本文为weixin_33443333原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。