You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
kim 94e87610c4
[chore] add back exif-terminator and use only for jpeg,png,webp (#3161)
2 years ago
..
.travis.yml [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago
LICENSE.MIT [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago
README.md [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago
cover.out [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago
error.go [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago
error_1_13.go [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago
error_backward.go [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago
parse_panic.go [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago
stackframe.go [chore] add back exif-terminator and use only for jpeg,png,webp (#3161) 2 years ago

README.md

go-errors/errors

Build Status

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.

It provides the type *Error which implements the standard golang error interface, so you can use this library interchangably with code that is expecting a normal error return.

Usage

Full documentation is available on godoc, but here's a simple example:

package crashy

import "github.com/go-errors/errors"

var Crashed = errors.Errorf("oh dear")

func Crash() error {
    return errors.New(Crashed)
}

This can be called as follows:

package main

import (
    "crashy"
    "fmt"
    "github.com/go-errors/errors"
)

func main() {
    err := crashy.Crash()
    if err != nil {
        if errors.Is(err, crashy.Crashed) {
            fmt.Println(err.(*errors.Error).ErrorStack())
        } else {
            panic(err)
        }
    }
}

Meta-fu

This package was original written to allow reporting to Bugsnag from bugsnag-go, but after I found similar packages by Facebook and Dropbox, it was moved to one canonical location so everyone can benefit.

This package is licensed under the MIT license, see LICENSE.MIT for details.

Changelog

  • v1.1.0 updated to use go1.13's standard-library errors.Is method instead of == in errors.Is