有些系统中设计了错误码,当发生错误时直接返回错误码和错误消息.
我觉得返回错误消息,告诉错误的原因是必须的.
但是错误码的必要性在哪里呢?只是为了出现错误时根据错误码快速定位出错的地方吗?直接全局搜索错误信息也是一样的啊.关于错误码我认为失败的典型例子就是windows,给你看0x0000f2之类的,你根本不知道是为何出错,还得去搜索,当然,在那个年代因为内存资源稀缺这样做是可理解的.
这里可能有些朋友要说BAT的接口都是有错误码的,这样显得很标准...那么我想问如果返回的是非0,也就是失败时,程序除了提示错误信息,又能干嘛呢?直接点说,就是错误信息才是给人类阅读的,错误码的出现不是很有必要.
那么大家看看我这样的不使用错误码的设计有哪些不好的地方呢?
我打算每个返回给前端的API中都有{code,msg,data}这三个参数,当code不为0的时候,前端不用对data进行后续处理,直接将msg的内容提示出来即可.
对于未登录需要转到登录页面的场景,API的HTTP状态直接返回401,APP收到时转到登录页面.
请问这样不使用错误码的设计有哪些不好的地方呢..
主要为了方便调用者吧,有时候调用者可以根据错误码来采取下一步操作,比如错误是1,就XXX,错误码是2,就YYY。其次,就算是普通用户,错误码也是有用的,比如windows报错了,打电话给客户,只要报上错误码就行了,客服很容易搜索到。如果向客服描述错误的文字叙述,容易产生歧义,也容易有遗漏。还有就是如果将来想改进错误信息的描述,可以保证错误码还是不变的,不至于引起混乱
报给客户的错误信息不宜太详细,客户看不懂。比如上传文件失败,原因有很多。是服务器连接失败,时间超长,还文件找不到?建议统一报错误信息:文件上传失败,并给出错误码。
是非常必要的.没有什么不好的地方
1、方便根据错误码做具体的操作,比如登录态失效错误码,总不能根据message吧,message可能为了需要,微调一下文案
2、国际化需要,根据错误码来返回国际化message
程序出问题了,不方便在IDE中调试,那你觉得什么方法更好??写程序日志,标记错误码,方便快速定位错误
你的code,msg,data里面的code就是错误码啊
错误码就是一种标记,更加准备规范,方便判断查错记录等。
错误码也需要设计的,设计不好感觉也难用。
当然有必要