func (c *pooledClient) Call(serviceMethod string, args interface{}, reply interface{}) error {
	err := c.Client.Call(serviceMethod, args, reply)
	if err != nil {  
		c.SetLastErr(err)
	}
	return err
}
Call overwrites the Close method of client.
package rpc
import (
	"net/rpc"
	"strings"
	"sync"
	"github.com/pkg/errors"
	"github.com/SQLess/SQLess/conf"
	"github.com/SQLess/SQLess/proto"
)
type pooledClient struct {
	*rpc.Client
	sync.Mutex
	freelist *freelist
	lastErr  error
}
func (c *pooledClient) SetLastErr(err error) {
	c.Lock()
	defer c.Unlock()
	if err != nil {
		c.lastErr = err
	}
}