...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package multierr_test
22
23 import (
24 "errors"
25 "fmt"
26 "io"
27
28 "go.uber.org/multierr"
29 )
30
31 func ExampleCombine() {
32 err := multierr.Combine(
33 errors.New("call 1 failed"),
34 nil,
35 errors.New("call 3 failed"),
36 nil,
37 errors.New("call 5 failed"),
38 )
39 fmt.Printf("%+v", err)
40
41
42
43
44
45 }
46
47 func ExampleAppend() {
48 var err error
49 err = multierr.Append(err, errors.New("call 1 failed"))
50 err = multierr.Append(err, errors.New("call 2 failed"))
51 fmt.Println(err)
52
53
54 }
55
56 func ExampleErrors() {
57 err := multierr.Combine(
58 nil,
59 errors.New("call 2 failed"),
60 errors.New("call 3 failed"),
61 )
62 err = multierr.Append(err, nil)
63 err = multierr.Append(err, errors.New("call 5 failed"))
64
65 errors := multierr.Errors(err)
66 for _, err := range errors {
67 fmt.Println(err)
68 }
69
70
71
72
73 }
74
75 func ExampleAppendInto() {
76 var err error
77
78 if multierr.AppendInto(&err, errors.New("foo")) {
79 fmt.Println("call 1 failed")
80 }
81
82 if multierr.AppendInto(&err, nil) {
83 fmt.Println("call 2 failed")
84 }
85
86 if multierr.AppendInto(&err, errors.New("baz")) {
87 fmt.Println("call 3 failed")
88 }
89
90 fmt.Println(err)
91
92
93
94
95 }
96
97 type fakeCloser func() error
98
99 func (f fakeCloser) Close() error {
100 return f()
101 }
102
103 func FakeCloser(err error) io.Closer {
104 return fakeCloser(func() error {
105 return err
106 })
107 }
108
109 func ExampleClose() {
110 var err error
111
112 closer := FakeCloser(errors.New("foo"))
113
114 defer func() {
115 fmt.Println(err)
116 }()
117 defer multierr.AppendInvoke(&err, multierr.Close(closer))
118
119 fmt.Println("Hello, World")
120
121
122
123
124 }
125
View as plain text