在一个简单的计算器应用程序中,当用零除以双精度时,它将返回“ Infinity”。我做了一些研究,发现Java为Doubles和Floats做到了。对于Integer,它返回ArithmeticException。为什么在Android codelabs(https://codelabs.developers.google.com/codelabs/android-training-unit-tests/index.html?index=..%2F..%2Fandroid-training#4)中进行单元测试的编码挑战似乎期望它引发IllegalArgumentException?是因为更新更改了零除标准,并且需要更新代码实验室?

需要澄清,谢谢。

最佳答案

在他们的documentation中,他们谈到了ArithmeticException:


在发生异常算术条件时抛出。例如,整数“除以零”将引发此类的实例。虚拟机可以构造ArithmeticException对象,就像Throwable#Throwable(String,Throwable,boolean,boolean)一样。


所以我的猜测是他们必须更新实验室,是的。

08-27 00:09