好吧,我正在做一个期中实验项目,我打算将例外情况纳入我的计划。我在之前的编码练习中使用过异常,所以我对如何使用它们有一个基本的了解,所以我以与之前练习相同的方式实现它们。在输入到数组之前,我需要测试从文件中读取的温度范围。但是,即使被测试的值不应该违反我设置的范围,也就是
10 < Fahrenheit < 120
.
这是我的验证方法:
public boolean validateDataRange(double num)
if(num < 10)
throw new BelowFahrenheitRange();
if(num > 120)
throw new ExceedsFahrenheitRange();
return true;
这个方法用在我命名为 TempFahrenheit 的子类中
我有另一个子类名称 TempCelsius,我在其中实现了相同的异常,但它的命名不同,因为我正在测试华氏温度和摄氏温度的范围不同。尽管如此,该方法和 if 语句几乎相同:
public boolean validateDataRange(double num)
if(num < 0)
throw new BelowCelsiusRange();
if(num > 40)
throw new ExceedsCelsiusRange();
return true;
我真的不明白为什么其中一个可以正常工作而另一个不能正常工作。任何人都可以帮助我了解问题所在。