https://github.com/followmetech/fm.exceptions
统一错误码以方便快速定位分析问题
https://github.com/followmetech/fm.exceptions
Last synced: 11 months ago
JSON representation
统一错误码以方便快速定位分析问题
- Host: GitHub
- URL: https://github.com/followmetech/fm.exceptions
- Owner: FollowmeTech
- License: mit
- Created: 2018-12-11T05:57:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-11T06:23:12.000Z (over 7 years ago)
- Last Synced: 2025-03-16T02:28:05.950Z (over 1 year ago)
- Language: C#
- Size: 9.77 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FM.Exceptions
统一错误码以方便快速定位分析问题
## 错误码格式
必须包含的字段:
```
type Error struct {
Code int `json:"code"`
Status int `json:"Status"`
Detail string `json:"detail"`
Internal string `json:"internal,omitempty"`
Content interface{} `json:"content,omitempty"`
}
```
## 通用错误码
### Code
0 成功
6xx 为依赖资源请求失败,如查找数据库连接超时,连接redis超时
5xx 为服务内部错误,如内部处理出问题
4xx 请求无效:包含授权、参数错误、所查信息不存在
### Status 参考Web标准错误码
HTTP 400 - 请求无效
HTTP 401.1 - 未授权:登录失败
HTTP 401.2 - 未授权:服务器配置问题导致登录失败
HTTP 401.3 - ACL 禁止访问资源
HTTP 401.4 - 未授权:授权被筛选器拒绝
HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败
HTTP 403 - 禁止访问
HTTP 403 - 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost
HTTP 403.1 禁止访问:禁止可执行访问
HTTP 403.2 - 禁止访问:禁止读访问
HTTP 403.3 - 禁止访问:禁止写访问
HTTP 403.4 - 禁止访问:要求 SSL
HTTP 403.5 - 禁止访问:要求 SSL 128
HTTP 403.6 - 禁止访问:IP 地址被拒绝
HTTP 403.7 - 禁止访问:要求客户证书
HTTP 403.8 - 禁止访问:禁止站点访问
HTTP 403.9 - 禁止访问:连接的用户过多
HTTP 403.10 - 禁止访问:配置无效
HTTP 403.11 - 禁止访问:密码更改
HTTP 403.12 - 禁止访问:映射器拒绝访问
HTTP 403.13 - 禁止访问:客户证书已被吊销
HTTP 403.15 - 禁止访问:客户访问许可过多
HTTP 403.16 - 禁止访问:客户证书不可信或者无效
HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效
HTTP 404.1 - 无法找到 Web 站点
HTTP 404 - 无法找到文件
HTTP 405 - 资源被禁止
HTTP 406 - 无法接受
HTTP 407 - 要求代理身份验证
HTTP 410 - 永远不可用
HTTP 412 - 先决条件失败
HTTP 414 - 请求 - URI 太长
HTTP 500 - 内部服务器错误
HTTP 500.100 - 内部服务器错误 - ASP 错误
HTTP 500-11 服务器关闭
HTTP 500-12 应用程序重新启动
HTTP 500-13 - 服务器太忙
HTTP 500-14 - 应用程序无效
HTTP 500-15 - 不允许请求 global.asa
Error 501 - 未实现
HTTP 502 - 网关错误
### Code定义
1000000 总共7位错误码,1-2位表示模块,第3位表示各端(0代表web,1代表app,依此类增) 后面4位表示具体的错误码从0001开始递增
前三位:服务识别码
后四位:服务内部具体错误原因
### 服务识别码范围
Golang小组使用 [100 0000, 200 0000)
Web组使用 [200 0000, 300 0000)
App小组使用 [300 0000, 400 0000)
C#小组使用 [400 0000, 500 0000)
### Code示例:
* 400 0001 C#小组A模块Web端接口错误码0001
* 411 0476 C#小组B模块App端接口错误码0476
## 设计
UI展示:
凡是调用后端接口,返回错误的,显示 “系统错误:50688”
无法识别错误码的,显示“系统错误”
## 程序设计
各个语言均独立一个错误处理模块,以统筹全局错误码的管理,初始化时将服务的识别码定义好