添加文件: intelligence_finance_v1/errors.go
This commit is contained in:
parent
eb24b11ba3
commit
92ed272cae
|
|
@ -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)
|
||||
)
|
||||
Loading…
Reference in New Issue