ArrayIndexOutOfBoundsException和IndexOutOfBoundsException之间的区别?

时间:2015-12-14 11:41:46

标签: java exception exception-handling indexoutofboundsexception

我们应该将ArrayIndexOutOfBoundsException和`IndexOutOfBoundsException用于另一个用例的用例是什么?

4 个答案:

答案 0 :(得分:16)

IndexOutOfBoundsException:抛出表示某种索引(例如数组,字符串或向量)超出范围。

ArrayIndexOutOfBoundsExceptionStringIndexOutOfBoundsException   是两个类,已经实现了IndexOutOfBoundsException

ArrayIndexOutOfBoundsException:抛出表示已使用非法索引访问数组。索引为负数或大于或等于数组的大小。

StringIndexOutOfBoundsException:由String方法抛出,表示索引为负数或大于字符串的大小。对于某些方法(如charAt方法),当索引等于字符串的大小时,也会抛出此异常。

答案 1 :(得分:4)

plt.clf() x = pd.Series([high,inter,low,rem],name="") plt.title("Overall Count Percentage of Levels") x.plot(kind='pie', labels=['High Level', 'Intermediate', 'Low Level' 'Remaining'], colors=['r', 'g', 'b', 'c'], autopct='%.2f', fontsize=20, figsize=(7, 7)) memdata = io.BytesIO() plt.grid(True) plt.savefig(memdata, format='png') image = memdata.getvalue() return image IndexOutOfBoundsException的超类(在访问数组中的无效索引时抛出)和ArrayIndexOutOfBoundsException(在访问String中的无效索引时抛出)。

访问列表的无效索引时,会抛出基类StringIndexOutOfBoundsException本身的实例。

抛出IndexOutOfBoundsException或其子类的一些方法的Javadoc包含基类。例如,IndexOutOfBoundsException被记录为在实际抛出子类String.charAt时抛出IndexOutOfBoundsException

答案 2 :(得分:0)

ArrayIndexOutOfBoundsException指示其消息中的非法索引。

答案 3 :(得分:0)

基本上,如果超出数组或String的范围,则会得到ArrayIndexOutOfBoundsException或StringIndexOutOfBoundsException。 对于LinkedList或其他一些Collection,您将获得更一般的IndexOutOfBoundsException。