比较纠结的问题,当调用某些不可靠的操作时,一般会用 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 ,各位在实际开发中,一般采用哪种方法呢?