对于try-catch执行过程有三种情况
1 try中没有异常,执行完try中的语句就可以执行try-catch外面的语句,顺序执行。
public class TryCatchDemo {
public static void main(String[] args) {
try{
System.out.println("代码段1");
//System.out.println(1/0);
System.out.println("代码段2");
}catch (ArrayIndexOutOfBoundsException a){
System.out.println("代码段3");
a.printStackTrace();
}catch (NullPointerException e){
System.out.println("代码段4");
e.printStackTrace();
}
System.out.println("代码段5");
}
}
结果如下
代码段1
代码段2
代码段5
2 对于try中出现了异常,但是catch中没有匹配的类型,此时程序会中断运行,并不会执行try-catch外面的代码块,也不会输出"代码段3"和"代码段4"。
public class TryCatchDemo {
public static void main(String[] args) {
try{
System.out.println("代码段1");