try-catch后的message也许不用看日志了

背景

最近在公司搞了一个让人头皮发麻的分单系统

因为公司是搞租赁的,提供一些商家入驻,关于订单的分配肯定不能单一拿人工去搞

本来是有这个分单系统了,也就是根据某些东西去改库里的字段,但产品设计的比较难以拓展,为了用户体验不管开发死活...各种批量+自动痛不欲生

本着这个宗旨,又改了几版,还好都是大牛在写...可惜这次到我了

代码

出错是难免的,还好大佬给每一行有可能出错的地方都try -catch了,产品给的的条件真的是多到恐怖

这些东西肯定不能每次都上系统日志上去看,而且我们平台的日志又年久失修,每次都是凭运气去看

只是分享这样一种思想,从大牛身上剽窃的智慧

处理

try{
    if(....){
        throw new HzsxBizException("-1","分单停止:没有xxx代扣和xxx代扣标识,不支持自动分单");
    }
}
catch (Exception e) {
    AutoAssginRecord autoAssginRecord = new AutoAssginRecord();
    autoAssginRecord.setOrderId(userOrders.getOrderId());
    autoAssginRecord.setShopId(userOrders.getShopId());
    autoAssginRecord.setRemark("备注:"+e.getMessage());    
                .........
    autoAssginRecord.setUpdateTime(new Date());
    autoAssginRecord.setCreateTime(new Date());
    autoAssginRecordDao.save(autoAssginRecord);
               ..........
}

因为这个分单系统是异步的,如果中间抛自定义异常,从库里拉到没分成功的订单号就能排查到原因

妈妈再也不用担心我翻日志了

开发经验get +1