添加文件: intelligence_finance_v1_ga/errors.go
This commit is contained in:
parent
dc5b1f2561
commit
d37265a894
|
|
@ -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)
|
||||
}
|
||||
Loading…
Reference in New Issue