keel/net/gotsrpc/errors.go
2021-09-06 22:09:58 +02:00

32 lines
568 B
Go

package gotsrpc
// Error type
type Error string
// Common errors
const (
ErrorNotFound Error = "notFound"
ErrorForbidden Error = "forbidden"
ErrorPermissionDenied Error = "permissionDenied"
)
// NewError returns a pointer error
func NewError(e Error) *Error {
return &e
}
// Is interface
func (e *Error) Is(err error) bool {
if e == nil || err == nil {
return false
} else if v, ok := err.(*Error); ok && v != nil {
return e.Error() == v.Error()
}
return false
}
// Error interface
func (e *Error) Error() string {
return string(*e)
}