public function evalSha($sha, array $arguments = array()) {
        try {
            if (empty($arguments)) {
                $result = $this->getRedis()->evalSha($sha);
            } else {
                $result = $this->getRedis()->evalSha($sha, $arguments, count($arguments));
            }

            $lastError = $this->getRedis()->getLastError();
            $this->getRedis()->clearLastError();
            if (is_null($lastError)) {
                return $result;
            }
            throw new ScriptExecutionException($lastError);
        } catch (RedisException $ex) {
            throw new ConnectException();
        }
    }