比如说有 100 个订单,可能某一两个处理会有问题,我们要记录下来。 只能这样做么 for(){ try{ 处理订单 }catch(){ 保存异常订单 } } 总感觉 try catch 这样用不太靠谱
1
815979670 2020-06-04 16:40:44 +08:00
异常订单是怎么个异常 是状态问题 还是执行出错如果执行报错的话 try 感觉没啥问题, 不过执行前判断一下 是不是就能避免?
|
3
wangyanrui 2020-06-04 16:45:40 +08:00
正如 1 楼所属,首先要区分出 异常订单 异常在什么地方
如果 Exception 才算异常,那么只能用 try catch 这种方式呀 |
4
815979670 2020-06-04 17:00:36 +08:00
@luxinfl 如果是可以预见的话 不建议使用 try 来处理 及时判断做更合理的处理
如果是不可预见的异常,只能使用 try 不过异常多了之后还是建议分析原因做更合理的异常处理 毕竟 try 这个玩意是用来保底的,不建议完全靠 try 解决问题 |
5
nulihuxi 2020-06-04 17:11:23 +08:00
为了保证这批订单循环不中断也只能在循环中 catch 吧
|
6
luxinfl OP |
8
wangyanrui 2020-06-05 12:40:53 +08:00
@luxinfl 需要调用外部服务就牵扯到分布式事务的问题呀,就不是单纯的 try catch 了,还有得回滚远程服务的操作 ~~
|