Documentation
¶
Overview ¶
Package errors supports generic rich error reporting.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Cause ¶
Cause returns the initially identified cause of an error if the error is a Chain, or the error itself if it is not.
Types ¶
type Chain ¶
type Chain interface {
// The error behavior of a Chain is based on the last annotation applied.
error
// Cause returns the initial error in the Chain.
Cause() error
// Link adds an annotation layer to the Chain.
Link(error) Chain
// Last returns the Chain, or nil if the Chain is empty, and the most recent annotation.
Last() (Chain, error)
}
Chain is an error and layered error annotations.
func Last ¶
Last returns the most recent annotation of an error and the remaining chain after the annotation is removed or nil if no further errors remain. Last returns a nil Chain if the error is not a Chain.
type Error ¶
type Error interface {
// FileLine returns the file name and line number of caller
// stored at creation of the Error.
FileLine() (file string, line int)
// Trace returns a slice continuing the stack trace stored at
// creation of the Error.
Trace() (stack []*runtime.Func)
// Package returns the package name of the stored caller.
Package() string
// Function returns the function name of the stored caller.
Function() string
// Items returns any items retained by caller.
Items() []interface{}
// Tracef returns a formatted stack trace of the error
// extending depth frames into the stack, 0 indicates no limit.
Tracef(depth int) string
error
}
Type Error is the interface for rich error reporting supported by the errors package.
Click to show internal directories.
Click to hide internal directories.