diff --git a/src/main/java/org/redisson/client/handler/CommandDecoder.java b/src/main/java/org/redisson/client/handler/CommandDecoder.java index c422c1592..6058b912d 100644 --- a/src/main/java/org/redisson/client/handler/CommandDecoder.java +++ b/src/main/java/org/redisson/client/handler/CommandDecoder.java @@ -116,13 +116,16 @@ public class CommandDecoder extends ReplayingDecoder { } else { decode(in, cmd, null, ctx.channel()); } - } catch (IOException e) { + } catch (Exception e) { cmd.tryFailure(e); } } else if (data instanceof CommandsData) { CommandsData commands = (CommandsData)data; - - decodeCommandBatch(ctx, in, data, commands); + try { + decodeCommandBatch(ctx, in, data, commands); + } catch (Exception e) { + commands.getPromise().tryFailure(e); + } return; }