errcode | errors | |
---|---|---|
1 | 30 | |
14 | 7,511 | |
- | - | |
2.8 | 0.2 | |
7 months ago | over 2 years ago | |
Go | Go | |
Apache License 2.0 | BSD 2-clause "Simplified" 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.
errcode
-
Error stack traces in Go with x/xerror
I believe the solution to this is to classify errors properly. Any "internal error" as in HTTP 500 Internal Error should be generating a stack trace. Most other expected errors (like your case) should not. I codified this practice in a library I created for Go called errcode [1] which is designed to attach error codes and other meta information where errors are generated.
[1] https://github.com/pingcap/errcode
errors
-
Show HN: Error return traces for Go, inspired by Zig
Can you explain why we should this over https://github.com/pkg/errors?
-
Cant wait for less verbose error handling
The pkg/errors package offers some nice add-ons for easier error handling. Too bad it was put into maintenance mode pending whatever changes/improvements are coming in Go 2.
- Error handling and serializing
-
isse for go path in neovim
I can't figure out the issue so here for some help, I am using `neovim/nvim-lspconfig` my `gopls` doesn't recognise external paths such as `github.com/pkg/errors` , it throws error`could not import github.com/pkg/errors (cannot find package "github.com/pkg/errors" in any of /usr/local/go/src/github.com/pkg/errors (from $GOROOT) /Users/ra compiler (BrokenImport)\`
-
What am I supposed to be doing with errors?
Also - there are some error handling utils that allow you to wrap errors before passing: https://github.com/pkg/errors
-
Go error handling is not verbose but the error handling itself.
Should've been something like errors.Newf("failed to foofoo %s", foo) instead and preferably never invent %w but have some controlled way to wrap like errors.Wrapf(err, "failed to foofoo %s", foo) that was in ye olde github.com/pkg/errors.
-
How to wrap the error best?
Prefer using errors.Wrap and errors.Wrapf from https://github.com/pkg/errors . It's frozen because they don't want to add features, waiting for a re-write of error handling in Go2.
- mdobak/go-xerrors: Yet another error handling library.
-
Getting at the type of error after it has been wrapped with errors.Wrap
Im using zerolog and in order to get the stack trace for my error I have to wrap my error in errors.Wrap from "github.com/pkg/errors".
-
When ia a good time to panic?
And for "real programs" you can use https://github.com/pkg/errors (if you want stack traces)
What are some alternatives?
json-logs - A tool to pretty-print JSON logs, like those from zap or logrus.
zerolog - Zero Allocation JSON Logger
xtrace - A simple library to extract traces from golang's xerrors
autoflags - Populate go command line app flags from config struct
backward-cpp - A beautiful stack trace pretty printer for C++
go-multierror - A Go (golang) package for representing a list of errors as a single error.
logutil - Utils for use with zerolog
logrus - Structured, pluggable logging for Go.
golangci-lint - Fast linters runner for Go
bitio - Optimized bit-level Reader and Writer for Go.
errors - Go error library with error portability over the network
Testify - A toolkit with common assertions and mocks that plays nicely with the standard library