error.go
func WrapPrefix(e interface{}, prefix string, skip int) *Error {
	if e == nil {
		return nil
	}

	err := Wrap(e, 1+skip)

	if err.prefix != "" {
		prefix = fmt.Sprintf("%s: %s", prefix, err.prefix)
	}

	return &Error{
		Err:    err.Err,
		stack:  err.stack,
		prefix: prefix,
	}

}
func WrapPrefix(e interface{}, prefix string, skip int) *Error {
	if e == nil {
		return nil
	}

	err := Wrap(e, 1+skip)

	if err.prefix != "" {
		prefix = fmt.Sprintf("%s: %s", prefix, err.prefix)
	}

	return &Error{
		Err:    err.Err,
		stack:  err.stack,
		prefix: prefix,
	}

}
func WrapPrefix ( e interface { } , prefix string , skip int ) * Error { if e == nil { return nil } err := Wrap ( e , 1 + skip ) if err . prefix != " " { prefix = fmt . Sprintf ( " " , prefix , err . prefix ) } return & Error { Err : err . Err , stack : err . stack , prefix : prefix , } }
// WrapPrefix makes an Error from the given value. If that value is already an
// error then it will be used directly, if not, it will be passed to
// fmt.Errorf("%v"). The prefix parameter is used to add a prefix to the
// error message when calling Error(). The skip parameter indicates how far
// up the stack to start the stacktrace. 0 is from the current call,
// 1 from its caller, etc.
WrapPrefix makes an Error from the given value . If that value is already an error then it will be used directly if not it will be passed to fmt . Errorf ( %v ) . The prefix parameter is used to add a prefix to the error message when calling Error () . The skip parameter indicates how far up the stack to start the stacktrace . 0 is from the current call 1 from its caller etc .