12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package fserr
- import (
- "errors"
- "fmt"
- "testing"
- )
- var testErr = newError(ErrUnknownCode, "测试错误")
- func TestErrors(t *testing.T) {
- fmt.Printf("测试错误打印: %+v\n", testErr)
- err := Func1()
- fmt.Printf("测试Func3错误打印: %+v\n", err)
- err = testErr.WithStack()
- fmt.Printf("测试WithStack错误打印: %+v\n", err)
- isRight := errors.Is(err, testErr)
- if !isRight {
- t.Fatal("Is错误")
- }
- targetErr := &Error{}
- asRight := errors.As(err, &targetErr)
- if !asRight {
- t.Fatal("As错误")
- }
- fmt.Printf("测试目标错误打印: %+v\n", targetErr)
- if !errors.Is(err, targetErr) {
- t.Fatal("目标错误和原始错误不一致")
- }
- if err != targetErr {
- t.Fatal("目标错误和原始错误不一致")
- }
- }
- func Func1() error {
- return Func2()
- }
- func Func2() error {
- return Func3()
- }
- func Func3() error {
- return testErr.WithStack()
- }
|