java 怎么在catch里拿到try里生成的数据?

瑞hong不还钱
  • 52

以下是一段伪代码

Map reponse;
try{
    reponse = 调用远程服务,获取响应。
}catch(){
    // 如果调用失败,则reponse里会包含错误的原因。
    return reponse.get("errorMessage"); // 调用失败,则把错误的原因拿出来,返回给前端。
}
return reponse;

问题:有没有办法在catch语句块里拿到reponse的数据?如果没有,是否存在别的写法可以满足我的需求?

请指教,谢谢~

回复
阅读 706
1 个回答

这样的代码可以实现,但是建议好好分析一下这里的逻辑重新进行设计
因为用 response 里的一个字段返回错误的方式多少有点难受而且逻辑很怪

Map reponse = null;
try{
    reponse = 调用远程服务,获取响应。
}catch(){
    // 如果调用失败,则reponse里会包含错误的原因。
    if (response != null) {
        return response.get("errorMessage");
    } else {
        return "粗错啦!";
    } // 调用失败,则把错误的原因拿出来,返回给前端。
}
return reponse;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏