异常出现原因以及处理方法之java.lang.ArithmeticException

记录遇到的异常和总结处理的过程,希望能给到自己和别人帮助。

java.lang.ArithmeticException

这个异常是”数学运算异常”,一般是在公式的运算中的考虑不周导致的
例如程序中出现了除以零这样的运算。
例如结果为无限小数时,如果不指定保留小数位数。
等等等等

举一个在实际中遇到的报错信息:
在这里插入图片描述

#这种情况是因为出现了结果为无限小数的情况,所以报错了
#由于最原先的写法是:
result=max((a* b/(c-d),0);
#但是并没有考虑到 b/(c-d)的结果是否是无限小数,如果出现1/3这类的,就会报错
#这时候需要指定保留小数位数,可以写成:
scale=round(b/(c-d),2);
result=max((a*scale,0); 
#当然,我在最外面也已经加了c-d不等于0的这种判断,所以不会存在除以零这样的运算

凡心所向,素履以往,生如逆旅,一苇以航。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值