sk-matrix-project/app/wails/pkg/utils/errorx/errorx.go

60 lines
1015 B
Go

package errorx
import (
"skapp/pkg/utils/response"
)
type CodeError struct {
*response.Response
}
type CodeErrorResponse struct {
*response.Response
}
func NewCustomError(code int, data interface{}, msg string) error {
return &CodeError{
Response: response.NewCustomResponse(code, data, msg),
}
}
func NewErrorWithCode(code int, msg string) error {
return &CodeError{
Response: response.NewCustomResponse(code, nil, msg),
}
}
func ParseError(err error) error {
if err != nil {
return NewErrorWithCode(response.ERROR, err.Error())
}
return nil
}
func ParseErrorWithCode(code int, err error) error {
if err != nil {
return NewErrorWithCode(code, err.Error())
}
return nil
}
func NewDefaultError(msg string) error {
return NewErrorWithCode(response.ERROR, msg)
}
func (e *CodeError) Error() string {
return e.Msg
}
func (e *CodeError) Resp() *CodeErrorResponse {
return &CodeErrorResponse{
Response: &response.Response{
Code: e.Code,
Data: e.Data,
Msg: e.Msg,
},
}
}