diff --git a/redisson/src/main/java/org/redisson/client/handler/CommandDecoder.java b/redisson/src/main/java/org/redisson/client/handler/CommandDecoder.java index b5024789f..b2411e589 100644 --- a/redisson/src/main/java/org/redisson/client/handler/CommandDecoder.java +++ b/redisson/src/main/java/org/redisson/client/handler/CommandDecoder.java @@ -184,7 +184,7 @@ public class CommandDecoder extends ReplayingDecoder { CommandsData commandBatch) { int i = state().getBatchIndex(); - RedisException error = null; + Throwable error = null; while (in.writerIndex() > in.readerIndex()) { CommandData cmd = null; try { @@ -192,12 +192,12 @@ public class CommandDecoder extends ReplayingDecoder { state().setBatchIndex(i); cmd = (CommandData) commandBatch.getCommands().get(i); decode(in, cmd, null, ctx.channel()); - i++; - } catch (IOException e) { + } catch (Exception e) { cmd.tryFailure(e); } + i++; if (!cmd.isSuccess()) { - error = (RedisException) cmd.cause(); + error = cmd.cause(); } }