I built a library to handle stack traces nicely in Go
When writing error handling code in Go, you often want stack traces — but there aren’t many libraries that provide them in a nice, practical way.
For example:
pkg/errors allows multiple errors.Wrap calls, but stack traces get duplicated. The maintenance has stopped, and newer APIs like errors.Join are not supported. cockroachdb/errors is well-designed, but the amount of information it outputs can be overwhelming and often requires additional processing. With these challenges in mind, I created my own error handling library: stackprune/errors.