面对一个可以预先检查的条件,却抛出了一个异常
public double getValueForPeriod(int periodNumber) {try {return values[periodNumber];} catch (ArrayIndexOutOfBoundsException e) {return 0;}
}
重构:调用函数之前先做检查
public double getValueForPeriod(int periodNumber) {if (periodNumber >= values.length) {return 0;}return values[periodNumber];
}