diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index 6114595..6b0bc9a 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -21,7 +21,11 @@ public class Client { this.host = host; } - protected Client sendCommand(String name, String... args) { + protected Client sendCommand(String name, String... args) + throws JedisException { + if (!isConnected()) { + throw new JedisException("Please connect Jedis before using it."); + } protocol.sendCommand(outputStream, name, args); return this; } diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index 8fbc570..3fa89bb 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -23,7 +23,7 @@ public class Jedis extends Client { return sendCommand("GET", key).getBulkReply(); } - public void quit() { + public void quit() throws JedisException { sendCommand("QUIT"); } diff --git a/src/test/java/redis/clients/jedis/tests/JedisTest.java b/src/test/java/redis/clients/jedis/tests/JedisTest.java new file mode 100644 index 0000000..b52173e --- /dev/null +++ b/src/test/java/redis/clients/jedis/tests/JedisTest.java @@ -0,0 +1,14 @@ +package redis.clients.jedis.tests; + +import org.junit.Test; + +import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisException; + +public class JedisTest { + @Test(expected = JedisException.class) + public void useWithoutConnecting() throws JedisException { + Jedis jedis = new Jedis("localhost"); + jedis.dbSize(); + } +} diff --git a/src/test/java/redis/clients/jedis/tests/commands/ConnectionHandlingCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/ConnectionHandlingCommandsTest.java index 4d41dbe..5af3d82 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/ConnectionHandlingCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/ConnectionHandlingCommandsTest.java @@ -8,6 +8,7 @@ import org.junit.Ignore; import org.junit.Test; import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisException; public class ConnectionHandlingCommandsTest extends Assert { private Jedis jedis; @@ -25,7 +26,7 @@ public class ConnectionHandlingCommandsTest extends Assert { } @Test - public void quit() { + public void quit() throws JedisException { jedis.quit(); }