func NewError(code ErrorCode, f string, a ...interface{}) error {
	return &Error{
		Message: fmt.Sprintf(f, a...),
		Code:    code,
	}
}
// NewError returns a new *Error with the given error code
// and message.
NewError returns a new *Error with the given error code
and message.
// NewError returns a new * Error with the given error code // and message .
func NewError(code ErrorCode, f string, a ...interface{}) error {
	return &Error{
		Message: fmt.Sprintf(f, a...),
		Code:    code,
	}
}
func NewError ( code ErrorCode , f string , a ... interface { } ) error { return & Error { Message : fmt . Sprintf ( f , a ... ) , Code : code , } }
NewError returns a new *Error with the given error code
and message.
NewError returns a new * Error with the given error code and message .