Skip to content

Error Wrapping Best Practices

Traun Leyden edited this page Nov 20, 2017 · 3 revisions
  1. Wrap things at the library boundary rather than internally within the codebase -- for example, a call out to GoCB. This should avoid double-wrapping
  2. Always use Cause() when comparing error types/values, eg change if err == couchbase.UpdateCancel -> if Cause(err) == couchbase.UpdateCancel
  3. When wrapping an error, beware that it is a risky operation that can break code that compares errors types or values. Look at callers and make sure they are calling Cause()
Clone this wiki locally