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.
How to do it...
These steps cover the writing and running of your application:
- From your Terminal/console application,createa new directory called~/projects...