gpt4 book ai didi

java - 管理 Netty 处理程序内部的 CompletionStage

转载 作者:太空宇宙 更新时间:2023-11-04 09:27:09 25 4
gpt4 key购买 nike

当调用从 Netty 处理程序内部返回 CompletionStage 的服务时,如何最好地处理异常。

我认为有两种类型的异常需要处理:

  1. 在被调用服务内部生成 CompletionStage 时发生的异常
  2. 评估返回的CompletionStage内容时发生的异常

这是否足以涵盖这两种情况:

@Override
public 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());
}
}

最佳答案

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

关于java - 管理 Netty 处理程序内部的 CompletionStage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57535038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com