Using the pkg/errors package and wrapping errors

The errors package located in github.com/pkg/errors is a drop-in replacement for the standard Go errors package. Additionally, it provides some very useful functionality for wrapping and handling errors. The typed and declared errors in the preceding recipe are a good example—they can be useful to add additional information to an error, but wrapping it in the standard way will change its type and break the type assertion:

// this wont work if you wrapped it 
// in a standard way. that is,
// fmt.Errorf("custom error: %s", err.Error())
if err == Package.ErrorNamed{
//handle this error in a specific way
}

This recipe will demonstrate how to use the pkg/errors package to add annotation to errors throughout your code.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.139.86.56