添加文件: intelligence_finance_v1_ga/errors.go

This commit is contained in:
renzhiyuan 2026-08-17 16:35:43 +08:00
parent dc5b1f2561
commit d37265a894
1 changed files with 38 additions and 0 deletions

View File

@ -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)
}