func (e ExtendedError) Error() string {
	return fmt.Sprintf(e.err.Error(), e.v...)
}
Error returns error string.
package errors
import (
	"errors"
	"fmt"
)
type StandardError string
func (e StandardError) Error() string {
	return string(e)
}
func (e StandardError) WithArgs(v ...interface{}) error {
	var hasErr, hasNil bool
	for _, vv := range v {
		switch err := vv.(type) {
		case error:
			if err == nil {
				return nil
			}
			hasErr = true
		case nil:
			hasNil = true
		}
	}
	if hasNil && !hasErr {
		return nil
	}
	err := ExtendedError{
		err: fmt.Errorf("%w", e),
		v:   v,
	}
	return err
}
type ExtendedError struct {
	err error
	v   []interface{}
}