Awesome Go

errors

CategoryError Handling
SubcategoryError Handling
Stars0

The most simple error wrapper with awesome performance and minimal memory overhead

About errors

Build Status Go Report Card Documentation Gocover

Errors

Simple error package for Go with minimal allocation and high performance. Optimized to keep error on function stack.

Motivation

I found out that the available error packages too complex for the simple purpose or not achieve the simple goal.

Purpose & Goal

Maintain an error chain (some kind of list of errors), and let the system to check whether the error's type caused the actual error or not.

Usage

package main

import (
    stderrors "errors"

    "github.com/PumpkinSeed/errors"
)

var ErrGlobal = errors.New("global err")
var ErrGlobal2 = errors.New("global err 2")
var ErrNotUsed = errors.New("not used err")

func main() {
    err := f3()
    
    stderrors.Is(err, ErrGlobal) // true
    stderrors.Is(err, ErrGlobal2) // true
    stderrors.Is(err, ErrNotUsed) // false

    println(err.Error()) // "global err 2: global err: string1"
}

func f1() error {
    return errors.New("string1")
}

func f2() error {
    return errors.Wrap(f1(), ErrGlobal)
}

func f3() error {
    return errors.Wrap(f2(), ErrGlobal2)
}

Frequently Asked Questions

What is errors?

errors is a Error Handling library for the Go programming language. The most simple error wrapper with awesome performance and minimal memory overhead

How do I install errors?

Install errors with the Go module system using `go get PumpkinSeed/errors`. Check the repository for the current installation instructions.

What category does errors belong to?

errors is listed under Error Handling, specifically Error Handling.

← Back to Error Handling