From 92ed272caedbf70bd8a0eafa0d701259b5e93ca1 Mon Sep 17 00:00:00 2001 From: renzhiyuan <465386466@qq.com> Date: Mon, 17 Aug 2026 17:18:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6:=20intelli?= =?UTF-8?q?gence=5Ffinance=5Fv1/errors.go?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- intelligence_finance_v1/errors.go | 59 +++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 intelligence_finance_v1/errors.go diff --git a/intelligence_finance_v1/errors.go b/intelligence_finance_v1/errors.go new file mode 100644 index 0000000..934543e --- /dev/null +++ b/intelligence_finance_v1/errors.go @@ -0,0 +1,59 @@ +package intelligence_finance_v1 + +import "fmt" + +// SDKError SDK通用错误类型 +type SDKError struct { + Code int `json:"code"` + Message string `json:"message"` + Err error `json:"-"` +} + +// Error 实现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 int, message string, err error) *SDKError { + return &SDKError{ + Code: code, + Message: message, + Err: err, + } +} + +// 预定义错误码 +const ( + ErrCodeSuccess = 0 + ErrCodeUnknown = -1 + ErrCodeInvalidParam = 1001 + ErrCodeSignatureFailed = 1002 + ErrCodeNetworkError = 1003 + ErrCodeRequestTimeout = 1004 + ErrCodeServerError = 2001 + ErrCodeUnauthorized = 2002 + ErrCodeNotFound = 2003 + ErrCodeRateLimit = 2004 +) + +// 预定义错误 +var ( + ErrUnknown = NewSDKError(ErrCodeUnknown, "未知错误", nil) + ErrInvalidParam = NewSDKError(ErrCodeInvalidParam, "参数无效", nil) + ErrSignatureFailed = NewSDKError(ErrCodeSignatureFailed, "签名失败", nil) + ErrNetworkError = NewSDKError(ErrCodeNetworkError, "网络错误", nil) + ErrRequestTimeout = NewSDKError(ErrCodeRequestTimeout, "请求超时", nil) + ErrServerError = NewSDKError(ErrCodeServerError, "服务端错误", nil) + ErrUnauthorized = NewSDKError(ErrCodeUnauthorized, "未授权", nil) + ErrNotFound = NewSDKError(ErrCodeNotFound, "未找到", nil) + ErrRateLimit = NewSDKError(ErrCodeRateLimit, "请求频率限制", nil) +) \ No newline at end of file