errlist
Implementation of error interface as a singly linked list. (by telephrag)
eris
Error handling library with readable stack traces and flexible formatting support π (by rotisserie)
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
errlist
Posts with mentions or reviews of errlist.
We have used some of these posts to build our list of alternatives
and similar projects.
eris
Posts with mentions or reviews of eris.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-05-21.
-
Don't Return Err in Go
Golang error handling is terrible by default. The lack of sum types also make it hard to know what errors a function might return and libraries rarely wrap their errors. There also isnβt any stack trace by default which makes it hard to find the original source of the error.
Check out https://github.com/rotisserie/eris. It really is a lifesaver
-
Will go ever get C/Java style exceptions?
What really sucks IMO is that there's no compiler support for exhaustive error checks, the amount of boilerplate for handling errors, no sum types like Rust, horrible stacktraces unless you use something like eris, the ease with which you can ignore errors, all make for really poor error handling as it remains. It is now the #1 challenge that devs report for Go as per their own survey. We might see some improvements on this front at some point and seeing the new errors.Join stuff is giving me hope
-
Thirteen Years of Go - The Go Programming Language
Attaching stacktraces to errors is one way to make errors more readable. Go has notoriously unreadable errors and when you log the error, the logging function is now at the top of the stack rather than where the error actually originated. There needs to be a simple function that adds some default wrapping when you return an error because as it is, you need packages like Eris to make the errors even halfway readable
-
Zap logging package
Actually just stumbled over eris which seems decent.
What are some alternatives?
When comparing errlist and eris you can also consider the following projects:
multierr - Combine one or more Go errors together
tracerr - Golang errors with stack trace and source fragments.
errorx - A comprehensive error handling library for Go
slog-multi - π¨ Design workflows of slog handlers: pipeline, middleware, fanout, routing, failover, load balancing...
errlog - Reduce debugging time. Use static & stack-trace analysis to identify the error immediately.