From 84fac4ce78586e65b267210af34d3a48c7b1ad02 Mon Sep 17 00:00:00 2001 From: renzhiyuan <465386466@qq.com> Date: Tue, 21 Jul 2026 18:16:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6:=20errors.?= =?UTF-8?q?go?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- errors.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 errors.go diff --git a/errors.go b/errors.go new file mode 100644 index 0000000..2e4a028 --- /dev/null +++ b/errors.go @@ -0,0 +1,41 @@ +package xyshanghai + +import "fmt" + +// ErrorCode 定义错误码类型 +type ErrorCode int + +const ( + // ErrCodeSuccess 成功 + ErrCodeSuccess ErrorCode = 0 + // ErrCodeFailure 失败 + ErrCodeFailure ErrorCode = -1 +) + +// SDKError 自定义SDK错误 +type SDKError struct { + Code ErrorCode + Message string + Err error +} + +func (e *SDKError) Error() string { + if e.Err != nil { + return fmt.Sprintf("code=%d, message=%s, err=%v", e.Code, e.Message, e.Err) + } + return fmt.Sprintf("code=%d, message=%s", e.Code, e.Message) +} + +// Unwrap 返回内部错误 +func (e *SDKError) Unwrap() error { + return e.Err +} + +// NewSDKError 创建SDK错误 +func NewSDKError(code ErrorCode, message string, err error) *SDKError { + return &SDKError{ + Code: code, + Message: message, + Err: err, + } +} \ No newline at end of file