summaryrefslogtreecommitdiffstats
path: root/modules/util/error.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/util/error.go')
-rw-r--r--modules/util/error.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/util/error.go b/modules/util/error.go
index 63bd447bf3..e67b9977f0 100644
--- a/modules/util/error.go
+++ b/modules/util/error.go
@@ -5,6 +5,7 @@ package util
import (
"errors"
+ "fmt"
)
// Common Errors forming the base of our error system
@@ -34,3 +35,31 @@ func (w SilentWrap) Error() string {
func (w SilentWrap) Unwrap() error {
return w.Err
}
+
+// NewSilentWrapErrorf returns an error that formats as the given text but unwraps as the provided error
+func NewSilentWrapErrorf(unwrap error, message string, args ...interface{}) error {
+ if len(args) == 0 {
+ return SilentWrap{Message: message, Err: unwrap}
+ }
+ return SilentWrap{Message: fmt.Sprintf(message, args...), Err: unwrap}
+}
+
+// NewInvalidArgumentErrorf returns an error that formats as the given text but unwraps as an ErrInvalidArgument
+func NewInvalidArgumentErrorf(message string, args ...interface{}) error {
+ return NewSilentWrapErrorf(ErrInvalidArgument, message, args...)
+}
+
+// NewPermissionDeniedErrorf returns an error that formats as the given text but unwraps as an ErrPermissionDenied
+func NewPermissionDeniedErrorf(message string, args ...interface{}) error {
+ return NewSilentWrapErrorf(ErrPermissionDenied, message, args...)
+}
+
+// NewAlreadyExistErrorf returns an error that formats as the given text but unwraps as an ErrAlreadyExist
+func NewAlreadyExistErrorf(message string, args ...interface{}) error {
+ return NewSilentWrapErrorf(ErrAlreadyExist, message, args...)
+}
+
+// NewNotExistErrorf returns an error that formats as the given text but unwraps as an ErrNotExist
+func NewNotExistErrorf(message string, args ...interface{}) error {
+ return NewSilentWrapErrorf(ErrNotExist, message, args...)
+}