main.go 635 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "github.com/pkg/errors"
  6. )
  7. // type ownError struct{}
  8. // func (e *ownError) Error() string {
  9. // return "is ownError"
  10. // }
  11. // func Exec() error {
  12. // return new(ownError)
  13. // }
  14. func a() error {
  15. err := b()
  16. err = errors.New("aaa")
  17. log.Printf("original error:%T %v\n", errors.Cause(err), errors.Cause(err))
  18. return err
  19. }
  20. func b() error {
  21. err := errors.New("bbb")
  22. log.Printf("original error:%T %v\n", errors.Cause(err), errors.Cause(err))
  23. return errors.Wrap(err, "fun3 call func2 error")
  24. }
  25. // eas 测试连接
  26. func main() {
  27. log.Printf("original error:%+v ", a())
  28. fmt.Println("aaaaaaaa")
  29. }