Merge pull request #3270 from xiang90/better_err

Better error message for etcdctl
This commit is contained in:
Xiang Li 2015-08-12 10:27:42 -07:00
commit f468d8b51a
3 changed files with 7 additions and 2 deletions

View File

@ -406,7 +406,7 @@ func (c *simpleHTTPClient) Do(ctx context.Context, act httpAction) (*http.Respon
case ctx.Err() != nil:
err = ctx.Err()
case hctx.Err() != nil:
err = fmt.Errorf("client: endpoint %s exceeded header timeout", c.endpoint)
err = fmt.Errorf("client: endpoint %s exceeded header timeout", c.endpoint.String())
default:
panic("failed to get error from context")
}

View File

@ -17,6 +17,8 @@ package command
import (
"fmt"
"os"
"github.com/coreos/etcd/client"
)
const (
@ -29,5 +31,8 @@ const (
func handleError(code int, err error) {
fmt.Fprintln(os.Stderr, "Error: ", err)
if cerr, ok := err.(*client.ClusterError); ok {
fmt.Fprintln(os.Stderr, cerr.Detail())
}
os.Exit(code)
}

View File

@ -215,7 +215,7 @@ func mustNewClient(c *cli.Context) client.Client {
err := hc.Sync(ctx)
cancel()
if err != nil {
fmt.Fprintln(os.Stderr, err.Error())
handleError(ExitServerError, err)
os.Exit(1)
}
}