init: v1.0.0
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package gerrors
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var err0 = errors.New("err0")
|
||||
var err1 = errors.New("err1")
|
||||
|
||||
func fn0() error {
|
||||
return WithStack(WithAnnotating(err0, "comment0"))
|
||||
}
|
||||
|
||||
func fn1() error {
|
||||
if err := fn0(); err != nil {
|
||||
e := ChainErrors(err1, err)
|
||||
return WithStack(WithAnnotating(e, "comment1"))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func fn2() error {
|
||||
if err := fn1(); err != nil {
|
||||
return WithMessage(err, "err2")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func TestError(t *testing.T) {
|
||||
|
||||
e := WithAnnotating(err0, "comment0")
|
||||
fmt.Printf("%+v\n", e)
|
||||
fmt.Println()
|
||||
|
||||
if !Is(fn2(), err0) || !Is(fn2(), err1) {
|
||||
t.Fail()
|
||||
}
|
||||
fmt.Println(fn2())
|
||||
fmt.Println()
|
||||
// output:
|
||||
// err2, caused by err1(comment1), caused by err0(comment0)
|
||||
|
||||
fmt.Printf("%+v\n", fn2())
|
||||
}
|
||||
Reference in New Issue
Block a user