frostfs-node/pkg/local_object_storage/util/logicerr/error.go

29 lines
534 B
Go

package logicerr
import "errors"
// Logical is a wrapper for logical errors.
type Logical struct {
err error
}
// New returns simple error with a provided error message.
func New(msg string) Logical {
return Wrap(errors.New(msg))
}
// Error implements the error interface.
func (e Logical) Error() string {
return e.err.Error()
}
// Wrap wraps arbitrary error into a logical one.
func Wrap(err error) Logical {
return Logical{err: err}
}
// Unwrap returns underlying error.
func (e Logical) Unwrap() error {
return e.err
}