为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA端的错误码和错误信息,该设计成全局常量还是枚举值?

JAVA端的错误码和错误信息,该设计成全局常量还是枚举值?

慕斯709654 2019-03-13 15:15:28
Map<String,String> responseInfo = new HashTable<String,String>();responseInfo.set("FE_PRC_BACK_001","TargetUri is not exist");//responseInfo.set("FE_XREQ_002","Target Uri of XRequest is Empty.");//responseInfo.set("FE_REQ_003","The processor flag is incorrect or the BusinessContext time out.");FE_PRC_BACK_001这样的是错误码,TargetUri is not exist是错误信息,需要以键值对(JSON)的形式响应给浏览器这时,JAVA端是应该以什么方式来罗列这些错误码和错误信息呢?常量?还是枚举类型?String FE_PRC_BACK_001 = "TargetUri is not exist";请教一下各位大神,你们的项目中都是怎么设计的?
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

如果所有错误消息都已经确定了,可以写在程序里,用枚举比用全局常量更容易。全局常量要对应错误码和消息还是比较痛苦。

我最喜欢 Java 的枚举,主要就是因为 Java 的枚举类型可以扩展,可以有构造,可以重写 toString …… 因为 Java 的枚举本身就是一个对象,枚举类型本身就是一个比较特殊的类。

如果你的错误消息不能固定,可能在应用过程中添加,保存在数据库中。那就需要专门写一套管理类来处理,用 HashTable 或者 HashMap 之类的方式来实现。不过估计你的问题搞不到这么复杂。


查看完整回答
反对 回复 2019-04-19
?
HUWWW

TA贡献1874条经验 获得超12个赞

把错误的key放在java的枚举里面,然后把错误的key和错误的信息的映射放在外部文件中,比如properties文件里。在运行时,根据错误枚举的key来实时从文件中取出错误文本就可以了,因为错误不是经常发生的,实时读取错误信息应该没有问题,当然你也可以在程序启动时候把所有的错误信息读进来然后放到缓存里以提高性能。


查看完整回答
反对 回复 2019-04-19
  • 3 回答
  • 0 关注
  • 2416 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信