Setting: wrapErrors
wrapErrors [yes,no]
is a boolean setting and can be defined as CLI argument, conversion comment or method comment. This setting is inheritable.
Enable wrapErrors
to instruct goverter to wrap errors returned by extend methods. Wrapped errors will contain troubleshooting information like the target struct's field name related to this error.
go
package example
// goverter:converter
// goverter:extend strconv:Atoi
// goverter:wrapErrors
type Converter interface {
Convert(source Input) (Output, error)
}
type Input struct {
PostalCode string
}
type Output struct {
PostalCode int
}
go
// Code generated by github.com/jmattheis/goverter, DO NOT EDIT.
//go:build !goverter
package generated
import (
"fmt"
wraperrors "github.com/jmattheis/goverter/example/wrap-errors"
"strconv"
)
type ConverterImpl struct{}
func (c *ConverterImpl) Convert(source wraperrors.Input) (wraperrors.Output, error) {
var exampleOutput wraperrors.Output
xint, err := strconv.Atoi(source.PostalCode)
if err != nil {
return exampleOutput, fmt.Errorf("error setting field PostalCode: %w", err)
}
exampleOutput.PostalCode = xint
return exampleOutput, nil
}