reflective: introduce UnmarshalTypeError{}
Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
@@ -42,3 +42,28 @@ func (e *InvalidUnmarshalError) Error() string {
|
|||||||
|
|
||||||
return buf.String()
|
return buf.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// An UnmarshalTypeError tells something went wrong while processing
|
||||||
|
// a type.
|
||||||
|
type UnmarshalTypeError struct {
|
||||||
|
Prefix string
|
||||||
|
Err error
|
||||||
|
|
||||||
|
reflect.Type
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e UnmarshalTypeError) Unwrap() error {
|
||||||
|
return e.Err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e UnmarshalTypeError) Error() string {
|
||||||
|
var buf bytes.Buffer
|
||||||
|
|
||||||
|
if e.Prefix != "" {
|
||||||
|
_, _ = fmt.Fprintf(&buf, "%s: ", e.Prefix)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, _ = fmt.Fprintf(&buf, "%s: %s", e.Type.String(), e.Err)
|
||||||
|
|
||||||
|
return buf.String()
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user