为了账号安全,请及时绑定邮箱和手机立即绑定

在 Netty 处理程序中管理 CompletionStage

在 Netty 处理程序中管理 CompletionStage

翻翻过去那场雪 2023-06-08 17:22:36
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());    }  }
查看完整描述

1 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

是的,您在代码中显示的内容应该正确涵盖两者。



查看完整回答
反对 回复 2023-06-08
  • 1 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信