CompletionStage調(diào)用從 Netty 處理程序內(nèi)部返回的服務(wù)時(shí),如何最好地處理異常。在我看來,有兩種類型的異常需要處理:CompletionStage生成被調(diào)用服務(wù)內(nèi)部時(shí)出現(xiàn)的異常評(píng)估返回內(nèi)容時(shí)出現(xiàn)的異常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()); } }
添加回答
舉報(bào)
0/150
提交
取消