Categorygithub.com/reusee/e/v2
package
2.3.3
Repository: https://github.com/reusee/e.git
Documentation: pkg.go.dev

# README

e

error handling utilities

Usage

go get github.com/reusee/e/v2
import (
  "github.com/reusee/e/v2"
)

var (
  makeErr = e.Default.WithStack().WithName("program")
  checkErr, handleErr = e.New(makeErr)
  // or name them me, ce, he to save key strokes.
)
func CopyFile(src, dst string) (err error) {
  defer he(&err, "copy %s to %s", src, dst)

  r, err := os.Open(src)
  ce(err, "open %s", src)
  defer r.Close() 

  w, err := os.Create(dst)
  ce(err, "create %s", dst)
  defer func() {
    w.Close()
    if err != nil {
      os.Remove(dst)
    }
  }()

  _, err = io.Copy(w, r)
  ce(err, "copy")

  ce(w.Close(), "close writer")

  return nil
}