github.com/sandwich-go/boost@v1.3.29/xerror/README.md (about) 1 # xerror 2 3 封装`error` 4 5 - 支持多个 `error` 封装成单一 `error` 进行函数参数传递 6 - 支持携带错误码信息 `error` 对象 7 - 支持包含调用信息 `error` 对象 8 - 支持 `Logic` 层异常 `error` 对象 9 - 支持返回最底层的错误信息 10 - 支持返回堆栈信息 11 12 # 例子 13 ```go 14 var arr Array 15 arr.Push(errors.New("error 1")) 16 arr.Push(errors.New("error 2")) 17 18 if arr.Err() != nil { 19 fmt.Println(arr.Error()) 20 } 21 22 err := New(WithText("io error"), WithCode(500), WithStack()) 23 errW := Wrap(err, "link error") 24 errW = Wrap(errW, "session error") 25 fmt.Println(errW.Error()) 26 fmt.Println(Caller(err.Cause(), 0)) 27 ``` 28 Output: 29 ```text 30 2 errors occurred: 31 #1: error 1 32 #2: error 2 33 34 session error: link error: io error 35 array_test.go github.com/sandwich-go/boost/xerror.TestArray.func1 35 36 ```