添加文件: errors.go
This commit is contained in:
parent
c047aae7e7
commit
a59d4f6f7e
|
|
@ -0,0 +1,66 @@
|
|||
package intelligence_finance
|
||||
|
||||
import "fmt"
|
||||
|
||||
// ErrorCode represents a numeric error code from the API.
|
||||
type ErrorCode int
|
||||
|
||||
// Predefined error codes.
|
||||
const (
|
||||
CodeSuccess ErrorCode = 0
|
||||
)
|
||||
|
||||
// APIError represents an error returned by the platform API.
|
||||
type APIError struct {
|
||||
Code ErrorCode `json:"code"`
|
||||
Message string `json:"msg,omitempty"`
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e *APIError) Error() string {
|
||||
return fmt.Sprintf("api error: code=%d, msg=%s", e.Code, e.Message)
|
||||
}
|
||||
|
||||
// ErrInvalidResponse is returned when the API response cannot be parsed.
|
||||
type ErrInvalidResponse struct {
|
||||
Message string
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e *ErrInvalidResponse) Error() string {
|
||||
return fmt.Sprintf("invalid response: %s", e.Message)
|
||||
}
|
||||
|
||||
// ErrNetwork is returned when a network error occurs.
|
||||
type ErrNetwork struct {
|
||||
Err error
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e *ErrNetwork) Error() string {
|
||||
return fmt.Sprintf("network error: %v", e.Err)
|
||||
}
|
||||
|
||||
// Unwrap returns the underlying error.
|
||||
func (e *ErrNetwork) Unwrap() error {
|
||||
return e.Err
|
||||
}
|
||||
|
||||
// ErrSigning is returned when a signing error occurs.
|
||||
type ErrSigning struct {
|
||||
Message string
|
||||
Err error
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e *ErrSigning) Error() string {
|
||||
if e.Err != nil {
|
||||
return fmt.Sprintf("signing error: %s: %v", e.Message, e.Err)
|
||||
}
|
||||
return fmt.Sprintf("signing error: %s", e.Message)
|
||||
}
|
||||
|
||||
// Unwrap returns the underlying error.
|
||||
func (e *ErrSigning) Unwrap() error {
|
||||
return e.Err
|
||||
}
|
||||
Loading…
Reference in New Issue