34 lines
455 B
Go
34 lines
455 B
Go
package errs
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/spf13/cast"
|
|
)
|
|
|
|
type err struct {
|
|
code Reason
|
|
msg string
|
|
}
|
|
|
|
func New(code Reason, message any) error {
|
|
return err{
|
|
code: code,
|
|
msg: cast.ToString(message),
|
|
}
|
|
}
|
|
|
|
// Error error
|
|
func (e err) Error() string {
|
|
return fmt.Sprintf("code=%d msg=%s", e.code, e.msg)
|
|
}
|
|
|
|
// Code return code
|
|
func (e err) Code() Reason {
|
|
return e.code
|
|
}
|
|
|
|
// Message return message
|
|
func (e err) Message() string {
|
|
return e.msg
|
|
}
|