eris
errorx
Our great sponsors
eris | errorx | |
---|---|---|
3 | 2 | |
1,399 | 1,077 | |
0.0% | 1.9% | |
0.0 | 1.8 | |
about 1 year ago | 9 months ago | |
Go | Go | |
MIT License | MIT License |
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.
eris
-
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.
errorx
-
Prolog at work
(I highly recommend https://github.com/joomcode/errorx for dealing with errors in Golang. It proved its usefulness and convenience.)
- Error handling in Go HTTP applications
What are some alternatives?
tracerr - Golang errors with stack trace and source fragments.
go-multierror - A Go (golang) package for representing a list of errors as a single error.
emperror - The Emperor takes care of all errors personally
errors - Simple error handling primitives
errlog - Reduce debugging time. Use static & stack-trace analysis to identify the error immediately.
gopsutil - psutil for golang
🎚Shift - 🎚Shift is an optioned circuit breaker implementation
Miniflux - Minimalist and opinionated feed reader
Falcon - A Simple Yet Highly Powerful Package For Error Handling
go-commons-pool - a generic object pool for golang
go-ez - An experimental Go package that allows you to write less error handling and makes the logic look simpler and clearer.
gosms - :mailbox_closed: Your own local SMS gateway in Go