If you have a look at client.go
in the source code for net/rpc
you'll see quite a few lines where call.Error
is set. These should show you all of the conditions under which a Call
will return an error.
Many of them are generated upon encountering errors from ClientCodec.WriteRequest
and ClientCodec.ReadResponseBody
. See the ClientCodec
docs for more details.
There are also a couple of possible errors for encountering unexpected EOF, and ErrShutdown
when the client is closing.