java的for循环中遇到异常抛出后继续循环执行

java的for循环中遇到异常抛出后继续循环执行

复制代码
  @Test
  public void loopTryCatchTest() throws Exception {

      Map<String, Object> a = new HashMap();
      a.put("a", "1");
      a.put("b", null);
      a.put("c", "3");

      for (Map.Entry<String, Object> moEntry : a.entrySet()) {
          try{
          boolean flag = moEntry.getValue().equals("1");
          System.out.println(moEntry.getKey() + "," + moEntry.getValue() + "," + flag);

          } catch(Exception e){
          System.out.println("异常跳出" + e);
        //continue;--- 不需要写continue,因为写不写,都会继续循环,不会异常后直接退出的。
          }
      }

  }

  执行结果:
  a,1,true
  异常跳出java.lang.NullPointerException
  c,3,false网址:yii666.com<网址:yii666.com文章来源地址:https://www.yii666.com/article/543018.html
  • 如果try包在for循环外面,则无法达到预期效果,遇到异常抛出,被catch住后,循环无法继续执行。

复制代码
  @Test
  public void loopTryCatchTest() throws Exception {

      Map<String, Object> a = new HashMap();
      a.put("a", "1");
      a.put("b", null);
      a.put("c", "3");

      try {
          for (Map.Entry<String, Object> moEntry : a.entrySet()) {

             boolean flag = moEntry.getValue().equals("1");
             System.out.println(moEntry.getKey() + "," + moEntry.getValue() + "," + flag);

          }
      }catch (Exception e) {
        System.out.println("异常跳出" + e);
    }

  }

-----------------------------------------------------------------------------------

offer突击训练营简介:

1:针对不知道怎么面试,面试没有信心的小伙伴,我们会给你一个offer保障。

2:我们会监督你15-20天内把面试体系技术点掌握至少7成,这样足够你去找到满意的工作了。

3:我们是面向面试学习指导,不会带你们去写代码,会把项目真实开发的迭代过程和技术细节如何实现业务功能都详细教清楚,你能在面试中流畅表达清楚就行了,项目经验你不用担心(技术老师提供的真实项目经验肯定拿的出手),自己学和别人带着系统学,效率完全不一样。

详情请点击这里offer突击训练营,给你一个offer的保障,求职跳槽的看过来!

相关推荐
虾..1 分钟前
多路复用 --- select系统调用
服务器·数据库·sql
薛先生_0996 分钟前
js学习语法第一天
开发语言·javascript·学习
杨云龙UP14 分钟前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
jessecyj15 分钟前
Spring boot整合quartz方法
java·前端·spring boot
舰长11517 分钟前
linux系统服务器加固1、中风险 未设置登录失败处理功能和登录连接超时处理功能。2、中风险 未限制默认账户的访问权限。3、中风险 未实现管理用户的权限分离。
linux·运维·服务器
苦瓜小生28 分钟前
【前端】|【js手撕】经典高频面试题:手写实现function.call、apply、bind
java·前端·javascript
报错小能手28 分钟前
深入理解 Linux 虚拟内存管理
开发语言·操作系统
和沐阳学逆向1 小时前
我现在怎么用 CC Switch 管中转站,顺手拿 Codex 举个例子
开发语言·javascript·ecmascript
小仙女的小稀罕1 小时前
听不清重要会议录音急疯?这款常见AI工具听脑AI精准转译
开发语言·人工智能·python
mounter6251 小时前
Linux 7.0 重磅更新:详解 nullfs 如何重塑根文件系统挂载与内核线程隔离
linux·运维·服务器·kernel