因为for-i循环在没有大括号的情况下,只作用于for(int i = 0;i < 2;i++)后面的第一条语句System.out.print(i + " ");,换句话说,就是 for(int i = 0;i < 2;i++)和System.out.print(i + " ");构成了一个完整的for循环语句,所以它执行完了后,才会执行System.out.println(1 / 0);.
而for循环执行完毕,就会输出 0 1,然后才会抛出异常,执行catch部分.
如果有大括号并且象下面这样就只输出 0 ,而不会输出 1 了.
package dealWithErrors;
public class Test12_6_a {
public static void main(String[] args) {
try{
for(int i = 0;i < 2;i++){
System.out.print(i + " ");
System.out.println(1 / 0);
}
}catch(Exception ex){
}
}
}
运行结果
0