小编典典
好吧,当然可以更好地实现枚举解决方案(通常非常不错):
public enum Error {
DATABASE(0, "A database error has occured."),
DUPLICATE_USER(1, "This user already exists.");
private final int code;
private final String description;
private Error(int code, String description) {
this.code = code;
this.description = description;
}
public String getDescription() {
return description;
}
public int getCode() {
return code;
}
@Override
public String toString() {
return code + ": " + description;
}
}
您可能需要重写toString()来仅返回描述-不确定。无论如何,主要要点是您不需要为每个错误代码分别覆盖。还要注意,我已经明确指定了代码,而不是使用序号-
这使更改顺序和以后添加/删除错误更加容易。
不要忘记这根本不是国际化的,但是除非您的Web服务客户端向您发送语言环境描述,否则您就无法轻易地将其国际化。至少他们会在客户端上使用错误代码供i18n使用…
2020-10-18