系统错误码定义

在工作过程中,系统的错误码定义非常的乱,对于我来说,开发的过程非常痛苦,经常在同一个错误有多个错误码的情况下,选择困难症得到了最大化的体现。鉴于此,于是下决心自己尝试定义一下系统的错误码。

此文仅表示个人观点,小伙伴们有什么想法可以留言指教一二。

系统错误码的定义我查阅了几个相关资料,目前有一种定义的方式,我个人是非常认同的:设置状态码status,再通过rescode和resmsg,反馈给用户信息,使用者首先看status,再确认错误信息,从而定位错误的原因。

定义错误码,首先需要将系统中的异常进行有效分类。

系统异常分类:

  • 系统异常:系统内部抛出未能预先定义的或系统配置异常,需要系统开发人员进行处理的异常
  • 非系统异常:是指相关业务类校验异常,业务结果非成功类异常。

系统给使用方的异常也应有分类,

  • 接口调用类错误码定义。接口类错误码定义使用字母+单个数字形式。数字从0开始累加,0表示成功。
  • 自身系统类错误码定义。自身系统类错误码使用5位错误码。从00000开始累加,00000表示成功。

接口调用类错误码定义添加status,类似于http接口的status状态码。HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。

我的系统参考http接口状态码设定:

分类 分类描述 分类 分类描述 分类 分类描述
h h代表http协议,表示http接口(下同) s s代表SOAP(Simple Object Access Protocol)协议,表示webservice接口 t t代表TCP/IP协议,表示socket接口
h1** 服务器接收到请求,需要请求者继续执行操作 s1** 服务器接收到请求,需要请求者继续执行操作 t1** 服务器接收到请求,需要请求者继续执行操作
h2** 操作被成功接收并处理 s2** 操作被成功接收并处理 t2** 操作被成功接收并处理
h3** 重定向,需要进一步操作以完成请求 s3** 重定向,需要进一步操作以完成请求 t3** 重定向,需要进一步操作以完成请求
h4** 请求错误,请求包含语法错误及无法完成请求 s4** 请求错误,请求包含语法错误及无法完成请求 t4** 请求错误,请求包含语法错误及无法完成请求
h5** 服务器错误,服务器在请求过程中发生了错误 s5** 服务器错误,服务器在请求过程中发生了错误 t5** 服务器错误,服务器在请求过程中发生了错误

状态码列表:

状态码 状态码英文名称 状态码中文描述
h200/s200/t200 success 请求成功
h400/s400/t400 Bad Request 客户端请求的语法错误,服务器无法理解
h500/s500/t500 Server Error 服务器内部错误,无法完成请求

 

API错误码及错误信息定义0是成功,1~20:业务定义的错误,20~30 服务器错误:

状态码 错误码 描述信息 状态码 错误码 描述信息
h200/s200/t200 0 请求成功 h500/s500/t500 24 空指针异常
h400/s400/t400 1 "参数名"+参数不能为空 25 接口处理异常
2 "参数名"+参数长度有误 26 写文件异常
3 渠道校验失败      
4 场景校验失败      
5 类型未维护      
h500/s500/t500 21 外部服务访问超时      
22 数据库访问失败      
23 外部服务异常      

 系统内部错误码定义:系统内部原本没有错误码,但是加上错误码,便于开发定位错误。系统错误码从00000~依次累加

错误码 描述信息
00000 成功
00001 验证码错误
00002 用户不存在/密码错误
00003 用户已封禁,请联系管理员
00004 角色已封禁,请联系管理员
00005 没有数据权限,请联系管理员
00006  连接超时异常
00007  空指针异常
00008  外部服务拒绝连接
00009  数据库访问出错
00010 线程异常中断

 

 

未完...待续

posted @   行业小白  阅读(654)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示