软件包: golang-github-hashicorp-errwrap-dev (0.0~git20141028.0.7554cd9-2)
golang-github-hashicorp-errwrap-dev 的相关链接
Trisquel 的资源:
下载源码包 golang-github-hashicorp-errwrap:
- [golang-github-hashicorp-errwrap_0.0~git20141028.0.7554cd9-2.dsc]
- [golang-github-hashicorp-errwrap_0.0~git20141028.0.7554cd9.orig.tar.xz]
- [golang-github-hashicorp-errwrap_0.0~git20141028.0.7554cd9-2.debian.tar.xz]
维护者:
Original Maintainers:
- Debian Go Packaging Team (Mail Archive)
- Tianon Gravi
- Tim Potter
- Anthony Fok
外部的资源:
- 主页 [github.com]
相似软件包:
- golang-github-hashicorp-go-multierror-dev
- golang-github-juju-errors-dev
- golang-github-mitchellh-mapstructure-dev
- libregexp-grammars-perl
- libcgi-formbuilder-perl
- libtest-deep-perl
- golang-github-nebulouslabs-errors-dev
- python3-dacite
- golang-github-mgutz-to-dev
- golang-github-crewjam-httperr-dev
- golang-github-spf13-cast-dev
Errwrap is a Go (golang) library for wrapping and querying errors
errwrap is a package for Go that formalizes the pattern of wrapping errors and checking if an error contains another error.
There is a common pattern in Go of taking a returned error value and then wrapping it (such as with fmt.Errorf) before returning it. The problem with this pattern is that you completely lose the original error structure.
Arguably the correct approach is that you should make a custom structure implementing the error interface, and have the original error as a field on that structure, such as this example. This is a good approach, but you have to know the entire chain of possible rewrapping that happens, when you might just care about one.
errwrap formalizes this pattern (it doesn't matter what approach you use above) by giving a single interface for wrapping errors, checking if a specific error is wrapped, and extracting that error.
This package contains the source.