记录遇到的异常和总结处理的过程,希望能给到自己和别人帮助。
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的这种判断,所以不会存在除以零这样的运算
凡心所向,素履以往,生如逆旅,一苇以航。
版权声明:本文为u013648038原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。