From a89fa7040bdccd0531aa51eb7c8c83f6fa36df25 Mon Sep 17 00:00:00 2001 From: Kunpei Sakai Date: Thu, 11 Jan 2018 08:45:03 +0900 Subject: [PATCH] net/rpc: improve error report messages Updates #19957 Change-Id: I8e2e3837db9e5e69b7102f9bd5831fe78ac60cfc Reviewed-on: https://go-review.googlesource.com/87335 Run-TryBot: Rob Pike TryBot-Result: Gobot Gobot Reviewed-by: Rob Pike --- src/net/rpc/server.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/net/rpc/server.go b/src/net/rpc/server.go index a021292603..96e6973c3a 100644 --- a/src/net/rpc/server.go +++ b/src/net/rpc/server.go @@ -296,7 +296,7 @@ func suitableMethods(typ reflect.Type, reportErr bool) map[string]*methodType { // Method needs three ins: receiver, *args, *reply. if mtype.NumIn() != 3 { if reportErr { - log.Println("method", mname, "has wrong number of ins:", mtype.NumIn()) + log.Printf("rpc.Register: method %q has %d input parameters; needs exactly three\n", mname, mtype.NumIn()) } continue } @@ -304,7 +304,7 @@ func suitableMethods(typ reflect.Type, reportErr bool) map[string]*methodType { argType := mtype.In(1) if !isExportedOrBuiltinType(argType) { if reportErr { - log.Println(mname, "argument type not exported:", argType) + log.Printf("rpc.Register: argument type of method %q is not exported: %q\n", mname, argType) } continue } @@ -312,28 +312,28 @@ func suitableMethods(typ reflect.Type, reportErr bool) map[string]*methodType { replyType := mtype.In(2) if replyType.Kind() != reflect.Ptr { if reportErr { - log.Println("method", mname, "reply type not a pointer:", replyType) + log.Printf("rpc.Register: reply type of method %q is not a pointer: %q\n", mname, replyType) } continue } // Reply type must be exported. if !isExportedOrBuiltinType(replyType) { if reportErr { - log.Println("method", mname, "reply type not exported:", replyType) + log.Printf("rpc.Register: reply type of method %q is not exported: %q\n", mname, replyType) } continue } // Method needs one out. if mtype.NumOut() != 1 { if reportErr { - log.Println("method", mname, "has wrong number of outs:", mtype.NumOut()) + log.Printf("rpc.Register: method %q has %d output parameters; needs exactly one\n", mname, mtype.NumOut()) } continue } // The return type of the method must be error. if returnType := mtype.Out(0); returnType != typeOfError { if reportErr { - log.Println("method", mname, "returns", returnType.String(), "not error") + log.Printf("rpc.Register: return type of method %q is %q, must be error\n", mname, returnType) } continue } -- 2.48.1