pkg / errors

Simple error handling primitives
https://godoc.org/github.com/pkg/errors
BSD 2-Clause "Simplified" License
8.18k stars 691 forks source link

Proposal: add support for merging more than one errors using merge() and mergef() like wrap() and wrapf() #204

Open shovanmaity opened 5 years ago

shovanmaity commented 5 years ago

Wrap() and Wrapf() are good example of annotating error with stack trace and given error message. Wrap() and Wrapf() are best option if errors comes in different labels(different function). If errors are in same label(same function) then we can have an option to merge those errors in a single error annotating with extra message.

mfridman commented 5 years ago

What's the use case for recording an error, continuing execution within the same function and subsequently merging that original error with other error(s)?

Typically you'd want check for an error and either handle it or return it up the call stack. Wrapf solves annotation and type preservation at the site of the original error.