复制代码 返回null或默认值:在Enum类的方法中如果无法处理异常情况,可以返回null或默认值。例如: public enum ErrorCode { SUCCESS, INVALID_INPUT, DATABASE_ERROR; public static ErrorCode getErrorCode(String code) { try { return ErrorCode.valueOf(code); } catch (IllegalArgumentException e) { return...
publicenumErrorCode{INVALID_INPUT("ERR001","无效输入"),USER_NOT_FOUND("ERR002","用户未找到"),DATABASE_ERROR("ERR003","数据库错误");privatefinalStringcode;// 错误码privatefinalStringmessage;// 错误信息ErrorCode(Stringcode,Stringmessage){this.code=code;this.message=message;}publicStringgetCode(...
可以使用以下代码添加异常码: publicenumErrorCode{UNKNOWN_ERROR(10001,"未知错误"),INVALID_INPUT(10002,"无效的输入"),DATABASE_ERROR(10003,"数据库错误");privatefinalintcode;privatefinalStringmessage;ErrorCode(intcode,Stringmessage){this.code=code;this.message=message;}// Getter方法publicintgetCode(){...
就Java和IntelliJ IDEA的支持来看,目前的配合还是比较好的,如i18n,维护成本等,而且这些ErrorMessages.properties也可以提交到中心仓库进行Error Code集中管理,如果是Java Enum+POJO对i18n和集中管理都比较麻烦,而且代码量也比较大,你从上述的jdoctor的problem builder的就可以看出。当然在不同的语言中也未必是绝对的...
</code> 有些场景下需要动态的改变提示信息的局部内容,比如用户登录,连续输错密码,需要给出提示信息:再错n次用户将锁定用户的场景下,n每次都不一样,此时需要将需要改变的部分抽取出来,在获取输出信息的时候进行处理,代码如下: publicEnum ExampleErrorCode{//枚举实例NAME_CONFLICT(1000,"重复命名"),NAME_INVALID(...
注意一个细节:如果要为enum定义方法,那么必须在enum的最后一个实例尾部添加一个分号。此外,在enum中,必须先定义实例,不能将字段或方法定义在实例前面。否则,编译器会报错。 例:全面展示如何在枚举中定义普通方法、静态方法、抽象方法、构造方法 publicenumErrorCode{OK(0) {publicStringgetDescription() {return"成功...
有了错误码和message的规范,接下来我们应该如何保存这些信息呢?如果是Java,是不是要创建对应的ErrorEnum,然后是一些POJO?这里个人建议使用properties文件来保存错误码和message的信息。文件名可以直接为ErrorMessages.properties,当然是在某一package下,文件样例如下: ...
是识别enum关键字的,但是假如我选择第二个或者默认的jdk1.8,那就不行了,后来发现java compiler compliance level中的最高上限也才1.7,所以,两种解决方法(原理是一样的),一是将compiler compliance level设置到1.5以上,另一个就是把.settings下的org.eclipse.jdt.core修改为以下内容: ...
以下是使用您的Enum的解决方案,正如您在场景中所解释的,我通常使用该解决方案来处理错误代码:...