OK, i think i have it;
basically he root of it was i wasn't thinking properly about how errors
need/should be implemented as immutable. Unwrap is basically a state
getter. (no setter for the wrapped error.)
so it seems to me that custom and fmt.Prinf("%w") wrappers have different
use cases:
* fmt.Printf(%w) is just to add more text to an error, because errors are
immutable its needed.(unless you have custom error types and are local to
them, then you could just edit their state.)
* custom wrapping types, unlike fmt.Printf(%w), create error 'classes' for
testing against and have utilities to help deal with unknown depths of
wrapping.
since i was only dealing with one level, i probably should have avoided
wrapping entirely, but now i know!
this does seem as if its a pattern that might come up elsewhere, so good to
understand clearly (unless i'm still off about something above).
thanks for help.
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/fa0e1186-c185-4143-9df9-d0ba7aa11826o%40googlegroups.com.