Upgrade to Pro — share decks privately, control downloads, hide ads and more …

labelerrとsuberrを作った話 / created labelerr and suberr

nametake
December 18, 2018

labelerrとsuberrを作った話 / created labelerr and suberr

nametake

December 18, 2018
Tweet

More Decks by nametake

Other Decks in Technology

Transcript

  1. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  2. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  3. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  4. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  5. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  6. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  7. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  8. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err)) third: second: warning: first: cause
  9. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  10. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err)) warning
  11. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err)) warning
  12. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err))
  13. err := errors.New("cause") err = errors.Wrap(err, "first") err = labelerr.Wrap(err,

    "warning") err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(labelerr.Label(err)) fmt.Println(errors.Cause(err)) cause
  14. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  15. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  16. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  17. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  18. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  19. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  20. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  21. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err)) third: second: sub: first: cause
  22. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  23. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err)) sub
  24. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err)) sub
  25. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err))
  26. err := errors.New("cause") err = errors.Wrap(err, "first") err = suberr.Add(err,

    errors.New("sub")) err = errors.Wrap(err, "second") err = errors.Wrap(err, "third") fmt.Println(err) fmt.Println(suberr.SubCause(err)) fmt.Println(errors.Cause(err)) cause