面试题:try catch应该在for循环里面还是外面?
try catch 放在for循环里面
代码示例
public static void tryInside() {
for (int count = 1; count <= 5; count++) {
try {
if (count == 3) {
//故意制造一下异常
int num = 1 / 0;
} else {
System.out.println("count:" + count + " 业务正常执行");
}
} catch (Exception e) {
System.out.println("try catch 在for 里面的情形, 出现了异常,for循环显然继续执行");
}
}
}
for循环过程中出现了异常,异常被catch抓掉,循环继续执行。
try catch 放在for循环外面
代码示例
public static void tryOutside() {
try {
for (int count = 1; count <= 5; count++) {
if (count == 3) {
//故意制造一下异常
int num = 1 / 0;
} else {
System.out.println("count:" + count + " 业务正常执行");
}
}
} catch (Exception e) {
System.out.println("try catch 在for 外面的情形, 出现了异常,for循环显然被中断");
}
}
for循环过程中出现了异常,for循环终止。
浅析一下
根据具体业务分析,需要出现异常就终止循环的,就将try catch 放外面;
不需要终止循环的,就将try catch 放里面。
具体情况具体分析,业务不同需要的方法也不尽相同。