func (err *Error) Error() string {
	if len(err.Extra) == 0 {
		return err.Message
	}
	extra := make([]string, 0, len(err.Extra))
	for k, v := range err.Extra {
		extra = append(extra, fmt.Sprintf("%s: %v", k, v))
	}
	return fmt.Sprintf("%s (%s)", err.Message, strings.Join(extra, ", "))
}
// Error implements error.Error.
Error implements error.Error.
// Error implements error . Error .
func (err *Error) Error() string {
	if len(err.Extra) == 0 {
		return err.Message
	}
	extra := make([]string, 0, len(err.Extra))
	for k, v := range err.Extra {
		extra = append(extra, fmt.Sprintf("%s: %v", k, v))
	}
	return fmt.Sprintf("%s (%s)", err.Message, strings.Join(extra, ", "))
}
func ( err * Error ) Error ( ) string { if len ( err . Extra ) == 0 { return err . Message } extra := make ( [ ] string , 0 , len ( err . Extra ) ) for k , v := range err . Extra { extra = append ( extra , fmt . Sprintf ( " " , k , v ) ) } return fmt . Sprintf ( " " , err . Message , strings . Join ( extra , " " ) ) }
Error implements error.Error.
Error implements error . Error .