CompletionStage调用从 Netty 处理程序内部返回的服务时,如何最好地处理异常。在我看来,有两种类型的异常需要处理:CompletionStage生成被调用服务内部时出现的异常评估返回内容时出现的异常CompletionStage这是否足以涵盖这两种情况:@Overridepublic void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { try { myService.call(arg1).whenComplete((response, throwable) -> { if (throwable != null) { ctx.fireExceptionCaught(throwable); } else { ctx.writeAndFlush(response); } } catch(Exception e) { if (e.getCause() instanceof DecoderException) { throw e; } else { throw new DecoderException(e.getCause()); } }
添加回答
举报
0/150
提交
取消