| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package errors_test
- import (
- "fmt"
- "os"
- "github.com/pkg/errors"
- )
- func ExampleNew() {
- err := errors.New("whoops")
- fmt.Println(err)
- // Output: whoops
- }
- func ExampleNew_printf() {
- err := errors.New("whoops")
- fmt.Printf("%+v", err)
- // Output: github.com/pkg/errors/example_test.go:18: whoops
- }
- func ExampleWrap() {
- cause := errors.New("whoops")
- err := errors.Wrap(cause, "oh noes")
- fmt.Println(err)
- // Output: oh noes: whoops
- }
- func fn() error {
- e1 := errors.New("error")
- e2 := errors.Wrap(e1, "inner")
- e3 := errors.Wrap(e2, "middle")
- return errors.Wrap(e3, "outer")
- }
- func ExampleCause() {
- err := fn()
- fmt.Println(err)
- fmt.Println(errors.Cause(err))
- // Output: outer: middle: inner: error
- // error
- }
- func ExampleFprint() {
- err := fn()
- errors.Fprint(os.Stdout, err)
- // Output: github.com/pkg/errors/example_test.go:33: error
- // github.com/pkg/errors/example_test.go:34: inner
- // github.com/pkg/errors/example_test.go:35: middle
- // github.com/pkg/errors/example_test.go:36: outer
- }
- func ExampleWrapf() {
- cause := errors.New("whoops")
- err := errors.Wrapf(cause, "oh noes #%d", 2)
- fmt.Println(err)
- // Output: oh noes #2: whoops
- }
- func ExampleErrorf() {
- err := errors.Errorf("whoops: %s", "foo")
- fmt.Printf("%+v", err)
- // Output: github.com/pkg/errors/example_test.go:67: whoops: foo
- }
- func Example_stacktrace() {
- type Stacktrace interface {
- Stacktrace() []errors.Frame
- }
- err, ok := errors.Cause(fn()).(Stacktrace)
- if !ok {
- panic("oops, err does not implement Stacktrace")
- }
- st := err.Stacktrace()
- fmt.Printf("%+v", st[0:2]) // top two frames
- // Output: [github.com/pkg/errors/example_test.go:33 github.com/pkg/errors/example_test.go:78]
- }
|