errors - Simple error handling primitives

  •        26

Package errors provides simple error handling primitives.which applied recursively up the call stack results in error reports without context or debugging information. The errors package allows programmers to add context to the failure path in their code in a way that does not destroy the original value of the error.



Related Projects

errors - Go error library with error portability over the network

  •    Go

This library aims to be used as a drop-in replacement to and Go's standard errors package. It also provides network portability of error objects, in ways suitable for distributed systems with mixed-version software compatibility. It also provides native and comprehensive support for PII-free details and an opt-in reporting mechanism that automatically formats error details and strips them of PII.

goncurses - NCurses Library for Go

  •    Go

Goncurses is an ncurses library for the Go programming language. It requires both pkg-config and ncurses C development files be installed. OSX and Windows users should visit the Wiki for installation instructions.

errorx - A comprehensive error handling library for Go

  •    Go

Conventional approach towards errors in Go is quite limited.

Logrus - Structured, pluggable logging for Go.

  •    Go

Logrus is a structured logger for Go (golang), completely API compatible with the standard library logger. There is a support to add hooks for logging levels. For example to send errors to an exception tracking service on Error, Fatal and Panic, info to StatsD or log to multiple places simultaneously, e.g. syslog.

go-conv - Fast conversions across various Go types with a simple API.

  •    Go

Notice: If you begin getting compilation errors use the v1 import path for an immediate fix and to future-proof.Package conv provides fast and intuitive conversions across Go types. This library uses reflection to be robust but will bypass it for common conversions, for example string conversion to any type will never use reflection. All functions are safe for concurrent use by multiple Goroutines.

sftp - SFTP support for the go.crypto/ssh package

  •    Go

The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem. It also implements an SFTP server for serving files from the filesystem.See for examples and usage.

go-multierror - A Go (golang) package for representing a list of errors as a single error.

  •    Go

go-multierror is a package for Go that provides a mechanism for representing a list of error values as a single error.This allows a function in Go to return an error that might actually be a list of errors. If the caller knows this, they can unwrap the list and access the errors. If the caller doesn't know, the error formats to a nice human-readable format.

docconv - Converts PDF, DOC, DOCX, XML, HTML, RTF, etc to plain text

  •    Go

A Go wrapper library to convert PDF, DOC, DOCX, XML, HTML, RTF, ODT, Pages documents and images (see optional dependencies below) to plain text. Note for returning users: the Go code path for this pkg been moved to Follow the installation instructions to checkout a version of the code in the correct place.

errors - errors with stacktraces for go

  •    Go

Package errors adds stacktrace support to errors in go. This is particularly useful when you want to understand the state of execution when an error was returned unexpectedly.

immortal - ⭕ A *nix cross-platform (OS agnostic) supervisor

  •    Go

If using FreeBSD or macOS you can install using pkg/ports or homebrew, for other platforms work is in progress, any help for making the port/package for other systems would be appreciated.

stacktrace - Stack traces for Go errors

  •    Go

Look at Palantir, such a Java shop. I can't believe they want stack traces in their Go code.Note that stack traces are not designed to be user-visible. We have found them to be valuable in log files of server applications. Nobody wants to see these in CLI output or a web interface or a return value from library code.

errcheck - errcheck checks that you checked errors.

  •    Go

errcheck is a program for checking for unchecked errors in go programs.errcheck requires Go 1.6 or newer and depends on the package go/loader from the repository.

errors - Common juju errors and functions to annotate errors. Based on juju/errgo

  •    Go

The juju/errors provides an easy way to annotate errors without losing the orginal error context. The exported New and Errorf functions are designed to replace the errors.New and fmt.Errorf functions respectively. The same underlying error is there, but the package also records the location at which the error was created.

pg - PostgreSQL ORM for Golang with focus on PostgreSQL features and performance

  •    Go

PostgreSQL ORM for Golang with focus on PostgreSQL features and performance. It supports Basic types, Multidimensional Arrays, Transactions, Prepared statements, Queries retries on network errors, Automatic connection pooling with circuit breaker support, Bulk/batch inserts and updates, Pagination and URL filters helpers, Migrations, Sharding and lot more.

mustache - The mustache template language in Go

  •    Go

mustache.go is an implementation of the mustache template language in Go. It is better suited for website templates than Go's native pkg/template. mustache.go is fast -- it parses templates efficiently and stores them in a tree-like structure which allows for fast execution.For more information about mustache, check out the mustache project page or the mustache manual.

msgpack -[Go] MessagePack encoding for Golang

  •    Go

API docs: Examples: Please go through examples to get an idea how to use this package.

tracerr - Golang errors with stack trace and source fragments.

  •    Go

Find more executable examples in examples dir. If err is nil then it still be nil with no stack trace added.

go - Exercism exercises in Go.

  •    Go

We welcome issues filed at for problems of any size. Feel free to report typographical errors or poor wording. We are most interested in improving the quality of the test suites. You can greatly help us improve the quality of the exercises by filing reports of invalid solutions that pass tests or of valid solutions that fail tests. Beyond filing issues, if you would like to contribute directly to the Go code in the Exercism Go track, you should follow some standard Go development practices. You should have a recent version of Go installed, ideally either the current release, the previous release, or tip.

go-pkg-rss - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs

  •    Go

This package allows us to fetch Rss and Atom feeds from the internet. They are parsed into an object tree which is a hybrid of both the RSS and Atom standards.The package allows us to maintain cache timeout management. This prevents us from querying the servers for feed updates too often and risk ip bans. Apart from setting a cache timeout manually, the package also optionally adheres to the TTL, SkipDays and SkipHours values specified in the feeds themselves.

LiipMonitorBundle - Integrates the LiipMonitor library into Symfony

  •    PHP

This bundle provides a way to run a series of application related health checks. Health checks in the scope of this bundle go beyond simple actions like performing a ping to a server to see if it's alive. For example a Memcache server can be alive and not displaying any errors in your Nagios but you might not be able to access it from your PHP application. Each health check should then implement some application logic that you want to make sure always works. Another usage can be testing for specific requirements, like availability of PHP extensions. Another design goal of the bundle was to be able to perform the checks using the same configuration and environment that your application is using. In that way you can make sure that if the health check runs successfully then your app should work too.