深入理解try-catch可以让程序继续执行下去

深入理解try-catch可以让程序继续执行下去

1.需求说明

1.1 需求说明

最近在做excel导入功能,就是把公司的经营活动日历导入到数据库里

在这里插入图片描述

1.2数据导入

1.2.1需要使用EasyExcelUtil(这是对easyExcel做了封装)

EasyExcelUtil的作用就是屏蔽了excel文件导入到java中的细节,直接导入到java里然后用java语言进行处理来完成导入到数据库的操作
在这里插入图片描述
在这里插入图片描述
然后由于一个字段的判断会出现异常,如果不使用try-catch包住有异常的代码块的话,程序执行到字段与导入字段不匹配的情况之后会抛出异常程序

不往下执行就不能把数据插入到数据库(这是我的需求)

1.3几个解决方案

1.3.1 使用异常处理机制

在我的代码中,可以通过捕获异常和进行部分提交来确保尽可能多的数据被插入。我可以将每次插入放在单独的try-catch代码块中,但这样做可能导致部分数据不一致

for (int i = 3; i < actiList.size(); i++) {
    try {
        // 执行我的插入操作
        // ...
        dataContext.Insert(mAE);
    } catch (BusinessException e) {
        // 记录错误信息或处理异常
        System.out.println("插入第 " + (i + 1) + " 行数据失败: " + e.getMessage());
    } catch (Exception e) {
        // 处理其他异常
        System.out.println("插入第 " + (i + 1) + " 行数据失败: " + e.getMessage());
    }
}

1.3.2 使用批量插入

暂时还不会

1.3.3事务管理

暂时不会

1.3.4 数据验证

不会

1.3.5 日志记录

不会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值