Select Git revision
-
Francé Wilke authoredFrancé Wilke authored
errors.go 2.08 KiB
package errors
import (
"fmt"
pkg_errors "github.com/pkg/errors"
)
// extends default golang error interface
type ErrorWithCause interface {
error
Cause() error
Code() int
}
type ErrorWithIs interface {
error
Is(specificError error) bool
}
func New(message string) error {
err := &CustomError{
message: message,
caller: GetCaller(2),
cause: nil,
}
return err
}
func Error(message string) error {
err := &CustomError{
message: message,
caller: GetCaller(2),
cause: nil,
}
return err
}
func Errorf(format string, args ...interface{}) error {
err := &CustomError{
message: fmt.Sprintf(format, args...),
caller: GetCaller(2),
cause: nil,
}
return err
}
func Wrapf(err error, format string, args ...interface{}) error {
if err == nil {
return nil
}
wrappedErr := &CustomError{
message: fmt.Sprintf(format, args...),
caller: GetCaller(2),
cause: err,
}
return wrappedErr
}
func Wrap(err error, msg string) error {
if err == nil {
return nil
}
wrappedErr := &CustomError{
message: msg,
caller: GetCaller(2),
cause: err,
}