- 对于公司外的 http/api 开放接口必须使用 errorCode;
- 跨应用间 RPC 调用优先考虑使用 Result 方式,封装 isSuccess()方法、errorCode、errorMessage;
- 而应用内部推荐直接抛出异常即可。
说明:关于 RPC 方法返回方式使用 Result 方式的理由:
- 使用抛异常返回方式,调用方如果没有捕获到就会产生运行时错误。
- 如果不加栈信息,只是 new 自定义异常,加入自己的理解的 error message,对于调用端解决问题的帮助不会太多。如果加了栈信息,在频繁调用出错的情况下,数据序列化和传输的性能损耗也是问题。
备注:
1、http/api:

{
"code": "0",
"message": "successfully",
"data": {
"incomeStatistics": {
"totalMoney": 0.0,
"yesterdayMoney": 0.0,
"monthMoney": 0.0,
"todayMoney": 0.0,
"weekMoney": 0.0
},
"balanceStatistics": {
"trustSpecialAccountBalance": 0.0,
"trustAccountBalance": 0.0,
"loanBalance": 0.0
},
"applicationsStatistics": {
"monthApplayNum": 0.0,
"totalApplayNum": 0.0,
"todayApplayNum": 0.0,
"weekApplayNum": 0.0,
"yesterdayApplayNum": 0.0
},
"generalStatistics": {
"refundTotalNum": 0.0,
"totalApplaySuccessRate": 0.0,
"settleTotalNum": 0.0
},
"applicationSuccessStatistics": {
"yesterdayApplicationSuccessNum": 0.0,
"weekApplicationSuccessNum": 0.0,
"monthApplicationSuccessNum": 0.0,
"totalApplicationSuccessNum": 0.0,
"todayApplicationSuccessNum": 0.0
},
"subsidyStatistics": {
"subsidyNum": 0.0,
"subsidyMoney": 0.0,
"subsidyRate": 0.0
}
},
"seqNo": "e1439b6f-7100-4a06-b01d-54a2355e31b7"
}