public class Main{
public static void main(String[] args) {
System.out.println(test());
}
private static int test(){
int[] a={1,2};
try{
a[2]=3;
return 0;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("ArrayIndexOutOfBoundsException");
//return 1;
}catch(RuntimeException e){
System.out.println("RuntimeException");
//return 1;
}catch(Exception e){
System.out.println("Exception");
//return 1;
}finally{
System.out.println("finally");
return 2;
}
//return 3;
}
}
结果:
ArrayIndexOutOfBoundsException
finally
2
public class Main{
public static void main(String[] args) {
System.out.println(test());
}
private static int test(){
int[] a={1,2};
try{
a[2]=3;
//return 0;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("ArrayIndexOutOfBoundsException");
return 1;
}catch(RuntimeException e){
System.out.println("RuntimeException");
return 1;
}catch(Exception e){
System.out.println("Exception");
return 1;
}finally{
System.out.println("finally");
return 2;
}
//return 3;
}
}
结果:
ArrayIndexOutOfBoundsException
finally
2
public class Main{
public static void main(String[] args) {
System.out.println(test());
}
private static int test(){
int[] a={1,2};
try{
a[2]=3;
//return 0;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("ArrayIndexOutOfBoundsException");
return 1;
}catch(RuntimeException e){
System.out.println("RuntimeException");
return 1;
}catch(Exception e){
System.out.println("Exception");
return 1;
}finally{
System.out.println("finally");
//return 2;
}
return 3;
}
}
结果;
ArrayIndexOutOfBoundsException
finally
1
此处try里的return被注掉了,因为如果不注掉的话最后一个return就永远无法执行,会报错。