Files
Error-Code-System/domains/sys.go
T
weichen 28d2d50743 Enable canonical versioned Go module consumption
Why: Allow consumers to download an immutable module revision without nested source checkouts or local path replacements.

Evidence: SELF package tests and the prior canonical-path rejection are recorded in the Dev dependency-workspace task card; remote consumption is replayed against the committed candidate.

Impact: Change the module identity and its Go imports while preserving API behavior. Existing historical submodule revisions remain buildable.

Refs: Versioned dependencies U1/U3; feature/dependency-workspace
2026-10-13 15:06:48 +00:00

27 lines
2.0 KiB
Go

package domains
import "git-ssh.u1680832.nyat.app/weichen/Error-Code-System.git/errcode"
func registerSys(r *errcode.Registry) {
must(r, def(errcode.SysInternal, 500, errcode.SeverityError, errcode.RetryNever, errcode.SideEffectUnknown,
"内部错误", "保留 trace_id,按错误日志定位,不要对调用方暴露内部细节"))
must(r, def(errcode.SysUnknownCode, 500, errcode.SeverityError, errcode.RetryNever, errcode.SideEffectUnknown,
"未登记的错误码", "按失败处理(fail-closed),并把该码补登记后再放行"))
must(r, def(errcode.SysInvalidArgument, 400, errcode.SeverityWarn, errcode.RetryNever, errcode.SideEffectNone,
"参数不合法", "检查请求字段与类型,修正后重新提交"))
must(r, def(errcode.SysUnauthorized, 401, errcode.SeverityWarn, errcode.RetryNever, errcode.SideEffectNone,
"未授权", "检查凭证是否缺失、过期或与资源不匹配"))
must(r, def(errcode.SysNotFound, 404, errcode.SeverityInfo, errcode.RetryNever, errcode.SideEffectNone,
"资源不存在", "确认标识是否正确,或资源是否已删除"))
must(r, def(errcode.SysConflict, 409, errcode.SeverityWarn, errcode.RetryNever, errcode.SideEffectPossible,
"状态冲突", "刷新当前状态后再决定是否重试,不要盲目重放"))
must(r, def(errcode.SysRateLimited, 429, errcode.SeverityWarn, errcode.RetryTransient, errcode.SideEffectNone,
"触发限流", "按退避重试,不要立即打满重试"))
must(r, def(errcode.SysTimeout, 504, errcode.SeverityError, errcode.RetryTransient, errcode.SideEffectPossible,
"操作超时", "先确认是否已产生副作用,再做有界重试"))
must(r, def(errcode.SysCancelled, 499, errcode.SeverityInfo, errcode.RetryNever, errcode.SideEffectPossible,
"操作已取消", "不要把取消当成成功或普通失败;需要时由调用方重新发起"))
must(r, def(errcode.SysUnavailable, 503, errcode.SeverityError, errcode.RetryTransient, errcode.SideEffectNone,
"依赖不可用", "确认依赖健康后退避重试"))
}