package
0.0.0-20240519111142-3e416e18f32e
Repository: https://github.com/snail007/gmc.git
Documentation: pkg.go.dev
# README
go-errors/errors
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
# Functions
Is detects whether the error is equal to a given error.
No description provided by the author
NewStackFrame popoulates a stack frame object from the program counter.
ParsePanic allows you to get an error object from the output of a go program that panicked.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
MaxStackDepth the maximum number of stack frames on any error.
# Structs
Error is an error with an attached stacktrace.
A StackFrame contains all necessary information about to generate a line in a callstack.