【游戏开发】004》业务错误码设计

实际开发当中,开发容易遇到哪些问题

  • 设计稿中提示语言经常改动
  • 大部分小公司没有完整的设计稿
  • 大部分开发者英文水平欠佳,变量命名很糟糕,导致拖累开发进度
  • 不必要的错误码设计。如:非管理员行使管理员权限,此等为非法操作,不应该单独增加错误提示

我们为什么需要错误码

  • 错误码主要是为了业务需要而设计的

错误码面向哪些群体

  • 用户,用户需要知道具体的错误信息。如:提示登录密码错误
  • 前端开发者,开发者需要知道具体的业务错误信息。如:非管理员做管理员操作
  • 后端开发者,开发者需要知道具体的业务错误信息,给前端开发者提示

用户对错误码的要求

  • 不关心错误码代号
  • 反馈信息要准确、言辞要委婉
  • 支持多语言(可选项)
  • 不同业务操作时,同一错误码提示不同(可选项)
  • 结论:
    • 后端返回错误码及通用提示信息给前端排查问题,具体提示给用户的信息应由前端开发定义。

开发者对错误码的要求

  • 需要根据错误码执行指定操作
  • 需要明确的错误提示
  • 当某个业务操作失败时,能够迅速定位到业务异常处,并给出合理解释。(非代码异常)

我的错误码设计

重点说明

  • 一个正常的客户端应该对某一些操作请求加以限制,当这些操作不满足条件却被发起时,统一返回非法操作错误码,为配合前端开发,将会在开发阶段返回提示具体的错误信息。而不是为每个错误信息编码,以减轻工作量和维护成本。以下示例:
    • 非管理员身份发起管理员权限操作
    • 非好友关系发起解除好友关系操作
    • 发起指定请求缺少参数,参数类型错误
    • 请求非法不支持
    • 无权限访问
  • 服务端不应该过度验证。以下示例:
    • 用户设置密码,输入两次新密码,应由前端校验是否一样
    • 用户使用旧密码设置新密码,新旧密码一致,应由前端校验是否一样

返回结构

{
    "data": {},  # 数据段
    "code": "0",  # 错误码
    "msg": "成功" # 提示(面向前端开发者,上线可关闭,节约流量)
}

错误码设计(缓更)

OPERATION_SUCCESS   0   成功
OPERATION_INVALID   1000    操作非法
OPERATION_FREQUENT  1001    操作频繁
    
ERROR_UNKNOWN   1100    未知错误
ERROR_SERVER    1101    服务器异常
ERROR_SERVER_OTHER  1102    第三方服务器异常

AUTH_EXPIRE  2000  身份认证信息已失效

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,090评论 0 13
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,032评论 0 15
  • error code(错误代码)=2000是无效的像素格式。error code(错误代码)=2001是指定的驱动...
    Heikki_阅读 1,940评论 0 4
  • 辰腾辰飞阅读 86评论 0 0
  • 【0503今日话题】 一个姑娘,人挺漂亮,能力也不错。 但是工作时总没有责任心,也没啥胆量,并喜欢把这些表现的原因...
    单双眼星人阅读 105评论 0 0