比较纠结的问题,当调用某些不可靠的操作时,一般会用 tryCatch 将它包住。不过返回的结果的表示就有多种表示方法了,具体如下:
错误码风格的设计:
try{
//some Exception
return msg("0","success!",resp);
} catch(ChildException ce){
return errorMsg("1","call {xxService} failed");
}
返回空白数据的设计:
try{
//some Exception
return msg("0","success!",resp);
} catch(ChildException ce){
return msg("0","success!",Collections.emptyList());
}
返回 null 的设计:
try{
//some Exception
return msg("0","success!",resp);
} catch(ChildException ce){
return null;
}
抛出异常的设计:
try{
//some Exception
return msg("0","success!",resp);
} catch(ChildException ce){
throw ce;
}
Stack Overflow中的回答更趋向于 Exception ,各位在实际开发中,一般采用哪种方法呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.