日期:2014-05-19  浏览次数:20753 次

抛出错误的疑问
看到书里面一段代码
public Object get(int i){
if(i<0||i>=n)
throw new IndexOutOfBoundsException();
return a[i]
}
请问这里抛出一个Exception有什么好处?或者说,我不写if(i<0||i>=n)
throw new IndexOutOfBoundsException();
有什么坏处或者隐患。。
谢谢啦

------解决方案--------------------
在你这特定例子里面没有。

但一般来说,不判断参数超界,可能会导致各种程序异常处理,甚至引发数据损失。
------解决方案--------------------
你现在这个例子是判断是否越界。n应该代表总长度.但是这样判断也没有什么作用。因为到最后还是抛出了IndexOutOfBoundsException异常。也没有做相应的处理。当然。数组越界的话。即使处理了,作用也不大。因为你本身逻辑就出现问题了。
------解决方案--------------------
public Object get(int i){
if(i<0||i>=n)
throw new IndexOutOfBoundsException();
return a[i]
}


应该是防止数组越界