From d37265a894be2b91ee8fd009156b4b4696f9028a Mon Sep 17 00:00:00 2001 From: renzhiyuan <465386466@qq.com> Date: Mon, 17 Aug 2026 16:35:43 +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=5Fga/errors.go?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- intelligence_finance_v1_ga/errors.go | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 intelligence_finance_v1_ga/errors.go diff --git a/intelligence_finance_v1_ga/errors.go b/intelligence_finance_v1_ga/errors.go new file mode 100644 index 0000000..2da226b --- /dev/null +++ b/intelligence_finance_v1_ga/errors.go @@ -0,0 +1,38 @@ +package intelligence_finance_v1_ga + +import "fmt" + +// SDKError 表示 SDK 内部错误(网络、编解码等)。 +type SDKError struct { + Op string // 发生错误的操作名称 + Err error // 底层错误 +} + +// Error 实现 error 接口。 +func (e *SDKError) Error() string { + if e.Op != "" { + return fmt.Sprintf("intelligence_finance_v1_ga: %s: %v", e.Op, e.Err) + } + return fmt.Sprintf("intelligence_finance_v1_ga: %v", e.Err) +} + +// Unwrap 返回底层错误,支持 errors.Is / errors.As。 +func (e *SDKError) Unwrap() error { + return e.Err +} + +// APIError 表示平台返回的业务错误或非 200 的 HTTP 响应。 +type APIError struct { + HTTPStatus int // HTTP 状态码(非 200 时设置) + Code int // 平台业务错误码 + Msg string // 平台错误信息 + Body string // 原始响应体(HTTP 非 200 时设置) +} + +// Error 实现 error 接口。 +func (e *APIError) Error() string { + if e.HTTPStatus != 0 { + return fmt.Sprintf("intelligence_finance_v1_ga: http status %d: %s", e.HTTPStatus, e.Body) + } + return fmt.Sprintf("intelligence_finance_v1_ga: api error code=%d msg=%s", e.Code, e.Msg) +} \ No newline at end of file