try catch 放在 for循环 外面 和里面 ,如果出现异常,产生的效果是不一样的。
try catch 在 for 循环 外面
看代码
public static void main(String[] args) {
try {
int a = 11;
for (int i = 1; i < a; i++) {
if (i == 6) {
a = a / 0;
} else {
System.out.println("正常执行程序");
}
}
} catch (Exception e) {
System.out.println("try catch 在 for 循环 外面出现异常");
}
}
执行结果如下:
正常执行程序
正常执行程序
正常执行程序
正常执行程序
正常执行程序
try catch 在 for 循环 外面出现异常
上面的执行结果出现异常,则执行停止,这样是不符合代码规范的!
try catch 在 for 循环 里面
看代码
public static void main(String[] args) { int a = 11; for (int i = 1; i < a; i++) { try { if (i == 6) { a = a / 0; } else { System.out.println("正常执行程序"); } } catch (Exception e) { System.out.println("for 循环在 try里面出现异常"); } } }
执行结果如下:
正常执行程序
正常执行程序
正常执行程序
正常执行程序
正常执行程序
for 循环在 try里面出现异常
正常执行程序
正常执行程序
正常执行程序
正常执行程序
最后总结:
try catch 在 for 循环里面的时候, 如果 for循环过程中出现了异常,异常被catch掉,不影响for循环继续执行。