读书人

抛出异常的疑问

发布时间: 2012-05-04 12:36:09 作者: rapoo

抛出错误的疑问
看到书里面一段代码
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]
}


应该是防止数组越界

读书人网 >J2EE开发

热点推荐