Documentation ¶
Index ¶
- func As(receivedErr error, expectedType any) bool
- func Errorf(ctx context.Context, format string, args ...interface{}) error
- func Is(receivedErr, expectedError error) bool
- func IsRootCause(err error, mytype interface{}) booldeprecated
- func New(ctx context.Context, message string) error
- func Newf(ctx context.Context, format string, args ...interface{}) error
- func Notef(ctx context.Context, err error, format string, args ...interface{}) errordeprecated
- func RootCause(err error) errordeprecated
- func RootCtxOrFallback(ctx context.Context, err error) context.Context
- func UnwrapError(err error) error
- func Wrap(ctx context.Context, err error, message string) error
- func Wrapf(ctx context.Context, err error, format string, args ...interface{}) error
- type ErrCtx
- type ValidationErrors
- type ValidationErrorsBuilder
- func (v *ValidationErrorsBuilder) Build() *ValidationErrors
- func (v *ValidationErrorsBuilder) Get(field string) []string
- func (v *ValidationErrorsBuilder) Merge(verr *ValidationErrors) *ValidationErrorsBuilder
- func (v *ValidationErrorsBuilder) MergeWithPrefix(prefix string, verr *ValidationErrors) *ValidationErrorsBuilder
- func (v *ValidationErrorsBuilder) Set(field, err string) *ValidationErrorsBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func As ¶ added in v2.3.0
As checks if any error of the stack matches the expectedType API machting the standard library but allowing to wrap errors with ErrCtx + errgo or pkg/errors
func Is ¶ added in v2.3.0
Is checks if any error of the stack matches the error value expectedError API machting the standard library but allowing to wrap errors with ErrCtx + errgo or pkg/errors
func IsRootCause
deprecated
IsRootCause return true if the cause of the given error is the same type as mytype. This function takes the cause of an error if the errors stack has been wrapped with errors.Wrapf or errgo.Notef or errgo.NoteMask or errgo.Mask.
Example:
errors.IsRootCause(err, &ValidationErrors{})
Deprecated: Use `As(err, mytype)` instead to match go standard libraries practices
func RootCause
deprecated
func RootCtxOrFallback ¶ added in v2.1.0
RootCtxOrFallback unwrap all wrapped errors from err to get the deepest context from ErrCtx errors. If there is no wrapped ErrCtx RootCtxOrFallback returns ctx from parameter.
func UnwrapError ¶ added in v2.2.0
UnwrapError tries to unwrap `err`. It unwraps any causer type, errgo and ErrCtx errors. It returns nil if no err found. This provide the possibility to loop on UnwrapError by checking the return value. E.g.:
for unwrappedErr := err; unwrappedErr != nil; unwrappedErr = UnwrapError(unwrappedErr) { ... }
Types ¶
type ValidationErrors ¶
ValidationErrors store each errors associated to every fields of a model
func (*ValidationErrors) Error ¶
func (v *ValidationErrors) Error() string
type ValidationErrorsBuilder ¶
type ValidationErrorsBuilder struct {
// contains filtered or unexported fields
}
ValidationErrorsBuilder is used to provide a simple way to create a ValidationErrors struct. The typical usecase is:
func (m *MyModel) Validate(ctx context.Context) *ValidationErrors { validations := document.NewValidationErrorsBuilder() if m.Name == "" { validations.Set("name", "should not be empty") } if m.Email == "" { validations.Set("email", "should not be empty") } return validations.Build() }
func NewValidationErrorsBuilder ¶
func NewValidationErrorsBuilder() *ValidationErrorsBuilder
NewValidationErrors return an empty ValidationErrors struct
func (*ValidationErrorsBuilder) Build ¶
func (v *ValidationErrorsBuilder) Build() *ValidationErrors
Build will send a ValidationErrors struct if there is some errors or nil if no errors has been defined
func (*ValidationErrorsBuilder) Get ¶
func (v *ValidationErrorsBuilder) Get(field string) []string
Get will return all errors set for a specific field
func (*ValidationErrorsBuilder) Merge ¶
func (v *ValidationErrorsBuilder) Merge(verr *ValidationErrors) *ValidationErrorsBuilder
Merge ValidationErrors with another ValidationErrors
func (*ValidationErrorsBuilder) MergeWithPrefix ¶
func (v *ValidationErrorsBuilder) MergeWithPrefix(prefix string, verr *ValidationErrors) *ValidationErrorsBuilder
MergeWithPrefix is merging ValidationErrors in another ValidationError adding a prefix for each error field
func (*ValidationErrorsBuilder) Set ¶
func (v *ValidationErrorsBuilder) Set(field, err string) *ValidationErrorsBuilder
Set will add an error on a specific field, if the field already contains an error, it will just add it to the current errors list