File tree Expand file tree Collapse file tree 8 files changed +148
-0
lines changed
Expand file tree Collapse file tree 8 files changed +148
-0
lines changed Original file line number Diff line number Diff line change @@ -39,4 +39,20 @@ func Basic() error {
3939 }
4040
4141 return nil
42+
43+ /*
44+ $ task
45+ task: Task "build" is up to date
46+ task: [run] ./try-golang -onetime
47+
48+ ENTER EXAMPLE NAME: error_basic
49+
50+ [Name] "error_basic"
51+ bin
52+ pkg
53+
54+
55+ [Elapsed] 73.89µs
56+ */
57+
4258}
Original file line number Diff line number Diff line change @@ -57,4 +57,22 @@ func IsAndAs() error {
5757 }
5858
5959 return nil
60+
61+ /*
62+ $ task
63+ task: [build] go build .
64+ task: [run] ./try-golang -onetime
65+
66+ ENTER EXAMPLE NAME: error_is_and_as
67+
68+ [Name] "error_is_and_as"
69+ [errors.Is] wrapped を Unwrap していくと err がある
70+ [errors.Is] errors.Unwrapを呼び出して手動でUnwrapした場合
71+ [errors.As] wrapped を Unwrap していくと pErr に代入可能
72+ [errors.As] errors.Unwrapを呼び出して手動でUnwrapした場合
73+
74+
75+ [Elapsed] 123.24µs
76+ */
77+
6078}
Original file line number Diff line number Diff line change @@ -75,4 +75,28 @@ func ErrorJoin() error {
7575 }
7676
7777 return nil
78+
79+ /*
80+ $ task
81+ task: [build] go build .
82+ task: [run] ./try-golang -onetime
83+
84+ ENTER EXAMPLE NAME: error_join
85+
86+ [Name] "error_join"
87+ [proc1] start
88+ [proc2] start
89+ [Error] proc2 error1
90+ [Error] proc1 error
91+ [Error] proc2 error2
92+ [Error] proc2 error3
93+ [Error] proc2 all errors
94+ proc2 error1
95+ proc2 error2
96+ proc2 error3
97+
98+
99+ [Elapsed] 951.91721ms
100+ */
101+
78102}
Original file line number Diff line number Diff line change @@ -77,4 +77,26 @@ func ErrorJoinErrorsAs() error {
7777 }
7878
7979 return nil
80+
81+ /*
82+ $ task
83+ task: [build] go build .
84+ task: [run] ./try-golang -onetime
85+
86+ ENTER EXAMPLE NAME: error_join_errors_as
87+
88+ [Name] "error_join_errors_as"
89+ [err ] 1:MyError1
90+ 2:MyError2
91+ [MyError1?] true
92+ [MyError2?] true
93+ [MyError3?] false
94+ [e1] 1:MyError1
95+ [e2] 2:MyError2
96+ [e3] <nil>
97+
98+
99+ [Elapsed] 100.478853ms
100+ */
101+
80102}
Original file line number Diff line number Diff line change @@ -58,4 +58,22 @@ func ErrorJoinFmtErrorf() error {
5858 }
5959
6060 return nil
61+
62+ /*
63+ $ task
64+ task: [build] go build .
65+ task: [run] ./try-golang -onetime
66+
67+ ENTER EXAMPLE NAME: error_join_fmt_errorf
68+
69+ [Name] "error_join_fmt_errorf"
70+ [err ] errors: (this is err1 message) (this is err2 message)
71+ [err1?] true
72+ [err2?] true
73+ [err3?] false
74+
75+
76+ [Elapsed] 250.685168ms
77+ */
78+
6179}
Original file line number Diff line number Diff line change @@ -42,4 +42,20 @@ func Sentinel() error {
4242 }
4343
4444 return nil
45+
46+ /*
47+ $ task
48+ task: [build] go build .
49+ task: [run] ./try-golang -onetime
50+
51+ ENTER EXAMPLE NAME: error_sentinel
52+
53+ [Name] "error_sentinel"
54+ Go 1.13 より前 (==で判定): example: sentinel error check
55+ Go 1.13 以降 (errors.Is()で判定): example: sentinel error check
56+
57+
58+ [Elapsed] 7.42µs
59+ */
60+
4561}
Original file line number Diff line number Diff line change @@ -47,4 +47,20 @@ func TypeAssertion() error {
4747 }
4848
4949 return nil
50+
51+ /*
52+ $ task
53+ task: [build] go build .
54+ task: [run] ./try-golang -onetime
55+
56+ ENTER EXAMPLE NAME: error_typeassertion
57+
58+ [Name] "error_typeassertion"
59+ Go 1.13 より前 (型検証で判定): example: type assertion error check
60+ Go 1.13 以降 (errors.As()で判定): example: type assertion error check
61+
62+
63+ [Elapsed] 9.089µs
64+ */
65+
5066}
Original file line number Diff line number Diff line change @@ -70,4 +70,22 @@ func WrapAndUnwrap() error {
7070 dump (e4 )
7171
7272 return nil
73+
74+ /*
75+ $ task
76+ task: [build] go build .
77+ task: [run] ./try-golang -onetime
78+
79+ ENTER EXAMPLE NAME: error_wrap_unwrap
80+
81+ [Name] "error_wrap_unwrap"
82+ [*fmt.wrapError] example: MakeError(example: sentinel error check)
83+ [*errors.errorString] example: sentinel error check
84+ [*errs.WrapError] example: WrapError(example: type assertion error check)
85+ [*errs.TypeAssertionError] example: type assertion error check
86+
87+
88+ [Elapsed] 34.13µs
89+ */
90+
7391}
You can’t perform that action at this time.
0 commit comments