我的项目中有一长串可完成的期货,每一步都调用一个后端 API,它可以给出多个错误响应和一个成功响应。现在,在解析响应后,我需要判断它是否是错误的,然后我需要显示给用户。我还需要知道我的链条中的哪个阶段产生了这个错误。
我现在的方法(如下所示)是在遇到错误响应时抛出运行时异常,然后将异常块附加到我的链中。我觉得这不是最好的方法,因为运行时异常不适合这种情况。这也使我的代码变得丑陋,因为每当我处理响应时我都必须这样做,从而导致额外的异常检查。有更好的方法吗?
CompletableFuture.supplyAsync(() -> {
//some api call
Response response = request.send();
if(response.hasError()){ //this is what I am doing right now
logger.error("this is error response");
throw new ResponseErrorException("Error response received for request");
}
})
这基本上对链中的每一步都重复。
摘要:如果我在 CompletableFuture 链中的任何步骤中收到失败响应,那么将其传播给用户的好方法是什么?
编辑:如果没有更好的方法,请随时分享您对我的方法的看法。