java.sql.BatchUpdateException: Overflow Exception trying to bind NaN

本文记录了一次使用JUnit进行单元测试时遇到的数据库更新错误,分析了错误原因,并给出了具体的解决方案,即对除数为0的情况进行特殊处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    昨天晚上在写测试单元的时候,一开始是逻辑错了,导致数据库数据更新一直错误,后面改过来了,运行成功了且数据正确。但当我想再试验一次的时候,咦,报错了,JUnit显示一堆错误信息,看了一下是数据库更新时的错误,不能进行update了,我还以为是字段的问题,结果并不是,百度了一下,发现是非法字段存储的问题,当把一个非法的数字(如“0f/0f”)绑定到一个字段,执行Update操作就会报这样的错误,我程序里面进行了除法操作,将结果存到数据库中,Double类型存储的。但没考虑到除数为0的情况,加个条件判断就好了,当是0 的时候直接给 字段赋值为0就好了。


对啦,我数据库里面存的字段类型是 NUMBER(8,4)的类型,(这里还要强调一下数据库类型 NUMBER和DECIMAL ,详情见下一篇博客吧哈哈)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值