测试代码, java.lang.ArrayIndexOutOfBoundsException没有被catch。没有catch的Exception,会导致VM停止。 AndroidRuntime: Caused by: java.lang.ArrayIndexOutOfBoundsException: length=20; index=30
<!-- lang: java -->
<!-- lang: java -->
int testexcepiton(int i) throws IOException{
Log.v(TAG, "testexcepiton i="+i);
if(i == 100){
throw new IOException("Haha here");
}
return 1;
}
try{
int []hh = new int[20];
hh[30] = 01;
Log.v(TAG, "hh[0]="+hh[0]);
testexcepiton(1);
}
catch(IOException e){
Log.v(TAG, "e="+e);
}
finally{
Log.v(TAG, "@@@finnaly in try");
}
Log.v(TAG, "@@@after try catch");
本文通过一个具体的Java示例,展示了ArrayIndexOutOfBoundsException未被捕获时如何导致虚拟机停止运行的情况,并详细解释了异常处理机制,包括try-catch-finally语句块的使用。

5万+

被折叠的 条评论
为什么被折叠?



