面试官问我,try catch 应该在for循环里面还是外面?

这个问题挺好的,就好像问你是吃饭的时候先吃菜还是先吃肉一样。哈哈哈。

话说,try catch 是用来处理异常的,而 for 循环是用来重复执行一段代码的。所以,到底应该把 try catch 放在 for 循环的里面,还是外面,取决于你希望如何处理异常。

如果你希望整个 for 循环都能正常执行,即使在某个步骤出现异常,也不影响后面的执行,那就把整个 for 循环用 try catch 包起来,就像给个大保险箱一样,把里面的东西都保护起来。这样,即使循环体里面有异常抛出,也能被 catch 块捕获到,程序可以继续执行后面的循环。

如果你觉得某个具体的步骤出现异常时就没必要继续执行了,你希望能够立即跳出循环,那最好是把 try catch 写在 for 循环的内部。这样,当某个步骤出现异常时,异常会被捕获到,然后通过 catch 块里面的逻辑处理,终止当前的循环,防止后续步骤继续执行。

咱给你个小例子,你感受一下:

for (int i = 0; i < 5; i++) {
   try {
      System.out.println("开始执行第 " + (i + 1) + " 次循环");
      // 这里可以放你的具体逻辑代码
      int result = 10 / (5 - i);
      System.out.println("第 " + (i + 1) + " 次循环执行完毕");
   } catch (Exception e) {
      System.out.println("第 " + (i + 1) + " 次循环出现异常");
      break;
   }
}

这个例子中,我们让 for 循环执行 5 次,每次都让 i 递增,然后我们再去计算 10 / (5 - i)(注:i 的值从 0 开始,所以在第一次循环的时候会出现除以 0 的情况,就会产生异常)。咱把 try catch 放在 for 循环内部,如果计算过程中出现异常,就会被捕获到,然后执行 catch 块里的逻辑,这里我们用 break 跳出循环。这样,当 i 的值为 0 的时候,异常被捕获,循环被中断,后面的循环就不执行了。

所以说,try catch 到底应该放在 for 循环里还是外,真的没有绝对的规定。要看你希望如何处理异常,是给个大保险箱包起来,还是在某个地方跳出来。咱这也算给了你个思路,你可以根据具体的业务场景来决定嘞。

  • 19
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值