errors
problem
errors | problem | |
---|---|---|
2 | 7 | |
60 | 6 | |
- | - | |
3.2 | 0.0 | |
11 months ago | almost 4 years ago | |
Go | Go | |
MIT License | BSD 3-clause "New" or "Revised" 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.
errors
problem
-
Proposal: errors.With(err, other error) error
The approach I tried for APIs was to do the opposite, and have the DB layer use an error type which includes an appropriate HTTP status code and details of exactly what's wrong as well as the regular error value.
-
Looking for code design opinions on checking errors for behaviour
If your goal is to report more meaningful structured errors to a REST API caller, you might find this helpful.
-
Exploring error for HTTP response
Check out https://github.com/lpar/problem
-
Logging error in go
You might find this helpful.
-
resperr: associate status codes and messages with your errors
Alternative which implements RFC 7807
-
Defining HTTP Status code from error types
For a web service, try RFC 7807. I've got a library to help implement it. A similar approach could help with regular application errors too.
-
Validation in Go. How do I answer on a invalid request via Rest API with html error template?
The best thing is to make your REST API respond as per RFC 7807 (helper Go library here), which gives you a standard way to add human-readable error messages. If the error should be displayed on a web page, handle that client-side using JavaScript DOM manipulation.
What are some alternatives?
eris - Error handling library with readable stack traces and flexible formatting support 🎆
error-pages - 🚧 Pretty server's error pages in the docker image & git repository (for traefik, k8s, nginx and so on)
bugsnag - Well-documented, maintainable, idiomatic, opinionated, and *unofficial* rewrite of the Bugsnag Go notifier
grpcerr - A library which makes working with gRPC errors easy, both for gRPC and HTTP APIs.
errors - Go stdlib errors package extension.
go-ez - An experimental Go package that allows you to write less error handling and makes the logic look simpler and clearer.
errors - Go error library with error portability over the network
pears-go - harvest Go errors with ease
errors - errors with stacktraces for go
goprisma - A Go wrapper for prisma to turn databases into GraphQL APIs using Go.
go-mailform - A small library to send physical mail from your Go applications using https://mailform.io
mimeheader - Library to work with MimeHeaders and other mime types. Library supports wildcards and parameters.