1.程序代码:
public static void main(String[] args) { int[] a = {1,2,3}; for(int i=0;i<4;i++){
System.out.println(a[i]);
} System.out.println("can execute?");
}
执行结果:
2.程序代码:
public static void main(String[] args) { int[] a = {1,2,3}; try{
for(int i=0;i<4;i++){
System.out.println(a[i]);
}
}catch(Exception e){
e.printStackTrace();
} System.out.println("can execute?");
}
执行结果:
3.程序代码:
public static void main(String[] args) { int[] a = {1,2,3}; try{
for(int i=0;i<4;i++){
System.out.println(a[i]);
}
}catch(Exception e){
e.printStackTrace();
return;
} System.out.println("can execute?");
}
执行结果:
4.程序代码:
public static void main(String[] args) throws Exception{ int[] a = {1,2,3}; for(int i=0;i<4;i++){
System.out.println(a[i]);
} System.out.println("can execute?");
}
执行结果:
5.程序代码:
public static void main(String[] args) { int[] a = {1,2,3}; try{ for(int i=0;i<4;i++){
System.out.println(a[i]);
} System.out.println("try can execute?"); }catch(Exception e){
e.printStackTrace();
} System.out.println("can execute?");
}
执行结果:
总结:
1.如果程序没有对异常进行捕获,当运行到异常时,后面的代码不会执行。(eg:1程序代码)
2.如果程序对异常进行捕获了,try里面异常后的内容不会执行,try代码块外面的内容会执行(eg:5程序代码)
3.如果程序对异常进行捕获了,但是catch里面进行了return,try代码外面的内容也不会执行(eg:3程序代码)