6 "github.com/pkg/errors"
10 err := errors.New("whoops")
16 func ExampleNew_printf() {
17 err := errors.New("whoops")
18 fmt.Printf("%+v", err)
22 // github.com/pkg/errors_test.ExampleNew_printf
23 // /home/dfc/src/github.com/pkg/errors/example_test.go:17
25 // /home/dfc/go/src/testing/example.go:114
26 // testing.RunExamples
27 // /home/dfc/go/src/testing/example.go:38
29 // /home/dfc/go/src/testing/testing.go:744
31 // /github.com/pkg/errors/_test/_testmain.go:106
33 // /home/dfc/go/src/runtime/proc.go:183
35 // /home/dfc/go/src/runtime/asm_amd64.s:2059
38 func ExampleWithMessage() {
39 cause := errors.New("whoops")
40 err := errors.WithMessage(cause, "oh noes")
43 // Output: oh noes: whoops
46 func ExampleWithStack() {
47 cause := errors.New("whoops")
48 err := errors.WithStack(cause)
54 func ExampleWithStack_printf() {
55 cause := errors.New("whoops")
56 err := errors.WithStack(cause)
57 fmt.Printf("%+v", err)
61 // github.com/pkg/errors_test.ExampleWithStack_printf
62 // /home/fabstu/go/src/github.com/pkg/errors/example_test.go:55
64 // /usr/lib/go/src/testing/example.go:114
65 // testing.RunExamples
66 // /usr/lib/go/src/testing/example.go:38
68 // /usr/lib/go/src/testing/testing.go:744
70 // github.com/pkg/errors/_test/_testmain.go:106
72 // /usr/lib/go/src/runtime/proc.go:183
74 // /usr/lib/go/src/runtime/asm_amd64.s:2086
75 // github.com/pkg/errors_test.ExampleWithStack_printf
76 // /home/fabstu/go/src/github.com/pkg/errors/example_test.go:56
78 // /usr/lib/go/src/testing/example.go:114
79 // testing.RunExamples
80 // /usr/lib/go/src/testing/example.go:38
82 // /usr/lib/go/src/testing/testing.go:744
84 // github.com/pkg/errors/_test/_testmain.go:106
86 // /usr/lib/go/src/runtime/proc.go:183
88 // /usr/lib/go/src/runtime/asm_amd64.s:2086
92 cause := errors.New("whoops")
93 err := errors.Wrap(cause, "oh noes")
96 // Output: oh noes: whoops
100 e1 := errors.New("error")
101 e2 := errors.Wrap(e1, "inner")
102 e3 := errors.Wrap(e2, "middle")
103 return errors.Wrap(e3, "outer")
106 func ExampleCause() {
109 fmt.Println(errors.Cause(err))
111 // Output: outer: middle: inner: error
115 func ExampleWrap_extended() {
117 fmt.Printf("%+v\n", err)
121 // github.com/pkg/errors_test.fn
122 // /home/dfc/src/github.com/pkg/errors/example_test.go:47
123 // github.com/pkg/errors_test.ExampleCause_printf
124 // /home/dfc/src/github.com/pkg/errors/example_test.go:63
125 // testing.runExample
126 // /home/dfc/go/src/testing/example.go:114
127 // testing.RunExamples
128 // /home/dfc/go/src/testing/example.go:38
130 // /home/dfc/go/src/testing/testing.go:744
132 // /github.com/pkg/errors/_test/_testmain.go:104
134 // /home/dfc/go/src/runtime/proc.go:183
136 // /home/dfc/go/src/runtime/asm_amd64.s:2059
137 // github.com/pkg/errors_test.fn
138 // /home/dfc/src/github.com/pkg/errors/example_test.go:48: inner
139 // github.com/pkg/errors_test.fn
140 // /home/dfc/src/github.com/pkg/errors/example_test.go:49: middle
141 // github.com/pkg/errors_test.fn
142 // /home/dfc/src/github.com/pkg/errors/example_test.go:50: outer
145 func ExampleWrapf() {
146 cause := errors.New("whoops")
147 err := errors.Wrapf(cause, "oh noes #%d", 2)
150 // Output: oh noes #2: whoops
153 func ExampleErrorf_extended() {
154 err := errors.Errorf("whoops: %s", "foo")
155 fmt.Printf("%+v", err)
159 // github.com/pkg/errors_test.ExampleErrorf
160 // /home/dfc/src/github.com/pkg/errors/example_test.go:101
161 // testing.runExample
162 // /home/dfc/go/src/testing/example.go:114
163 // testing.RunExamples
164 // /home/dfc/go/src/testing/example.go:38
166 // /home/dfc/go/src/testing/testing.go:744
168 // /github.com/pkg/errors/_test/_testmain.go:102
170 // /home/dfc/go/src/runtime/proc.go:183
172 // /home/dfc/go/src/runtime/asm_amd64.s:2059
175 func Example_stackTrace() {
176 type stackTracer interface {
177 StackTrace() errors.StackTrace
180 err, ok := errors.Cause(fn()).(stackTracer)
182 panic("oops, err does not implement stackTracer")
185 st := err.StackTrace()
186 fmt.Printf("%+v", st[0:2]) // top two frames
189 // github.com/pkg/errors_test.fn
190 // /home/dfc/src/github.com/pkg/errors/example_test.go:47
191 // github.com/pkg/errors_test.Example_stackTrace
192 // /home/dfc/src/github.com/pkg/errors/example_test.go:127
195 func ExampleCause_printf() {
196 err := errors.Wrap(func() error {
197 return func() error {
198 return errors.Errorf("hello %s", fmt.Sprintf("world"))
202 fmt.Printf("%v", err)
204 // Output: failed: hello world