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  ```