首页 新闻 会员 周边 捐助

软件开发中有没有必要使用错误码?

0
悬赏园豆:10 [待解决问题]

有些系统中设计了错误码,当发生错误时直接返回错误码和错误消息.

 

我觉得返回错误消息,告诉错误的原因是必须的.

 

但是错误码的必要性在哪里呢?只是为了出现错误时根据错误码快速定位出错的地方吗?直接全局搜索错误信息也是一样的啊.关于错误码我认为失败的典型例子就是windows,给你看0x0000f2之类的,你根本不知道是为何出错,还得去搜索,当然,在那个年代因为内存资源稀缺这样做是可理解的.

 

这里可能有些朋友要说BAT的接口都是有错误码的,这样显得很标准...那么我想问如果返回的是非0,也就是失败时,程序除了提示错误信息,又能干嘛呢?直接点说,就是错误信息才是给人类阅读的,错误码的出现不是很有必要.

 

那么大家看看我这样的不使用错误码的设计有哪些不好的地方呢?

 

我打算每个返回给前端的API中都有{code,msg,data}这三个参数,当code不为0的时候,前端不用对data进行后续处理,直接将msg的内容提示出来即可.

 

对于未登录需要转到登录页面的场景,API的HTTP状态直接返回401,APP收到时转到登录页面.

 

请问这样不使用错误码的设计有哪些不好的地方呢..

 

 

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2019-04-28 17:05
< >
分享
所有回答(7)
0

主要为了方便调用者吧,有时候调用者可以根据错误码来采取下一步操作,比如错误是1,就XXX,错误码是2,就YYY。其次,就算是普通用户,错误码也是有用的,比如windows报错了,打电话给客户,只要报上错误码就行了,客服很容易搜索到。如果向客服描述错误的文字叙述,容易产生歧义,也容易有遗漏。还有就是如果将来想改进错误信息的描述,可以保证错误码还是不变的,不至于引起混乱

会长 | 园豆:12463 (专家六级) | 2019-04-28 17:16
0

报给客户的错误信息不宜太详细,客户看不懂。比如上传文件失败,原因有很多。是服务器连接失败,时间超长,还文件找不到?建议统一报错误信息:文件上传失败,并给出错误码。

小顶山人 | 园豆:184 (初学一级) | 2019-04-28 17:51
0

是非常必要的.没有什么不好的地方

吴瑞祥 | 园豆:29449 (高人七级) | 2019-04-28 18:17
0

1、方便根据错误码做具体的操作,比如登录态失效错误码,总不能根据message吧,message可能为了需要,微调一下文案

2、国际化需要,根据错误码来返回国际化message

狼爷 | 园豆:1204 (小虾三级) | 2019-04-28 21:12
0

程序出问题了,不方便在IDE中调试,那你觉得什么方法更好??写程序日志,标记错误码,方便快速定位错误

慧☆星 | 园豆:5722 (大侠五级) | 2019-04-29 09:45
0

你的code,msg,data里面的code就是错误码啊
错误码就是一种标记,更加准备规范,方便判断查错记录等。
错误码也需要设计的,设计不好感觉也难用。

Masako | 园豆:1893 (小虾三级) | 2019-04-29 15:11
0

当然有必要

ycyzharry | 园豆:25683 (高人七级) | 2019-05-05 10:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册