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
如果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);
}
}
java的for循环中遇到异常抛出后继续循环执行的更多相关文章
- JUnit中测试异常抛出的方法
最近在做TWU关于TDD的作业,对JUnit中测试异常抛出的方法进行了一些学习和思考. 在进行单元测试的时候有的时候需要测试某一方法是否抛出了正确的异常.例如,我有一个方法,里面对一个List进行读取 ...
- zzw原创_oracle循环中的异常捕捉_捕捉异常后并继续循环
例子如下 set serveroutput on; declare V_SQL VARCHAR2(255); errorCode number; --异常编码 errorMsg var ...
- 【Javascript】: for循环中定义的变量在for循环体外也有效
for循环中定义的变量在for循环体外也有效 <script> (function(){ var a = 111; for(var i=0;i<5;i++){ var carl = ...
- CASE:DB shutdown/open 过程中发生异常导致JOB不能自动执行
CASE:DB shutdown/open 过程中发生异常导致JOB不能自动执行 现象: 一个DB中的所有JOB在3月25日之后就不再自动运行,查询DBA_JOBS,发现LAST_DATE定格在3月2 ...
- 退出循环break,在while、for、do...while、循环中使用break语句退出当前循环,直接执行后面的代码。
在while.for.do...while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) {break;} ...
- JS流程控制语句 退出循环break 在while、for、do...while、while循环中使用break语句退出当前循环,直接执行后面的代码。
退出循环break 在while.for.do...while.while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { i ...
- java中异常抛出后代码还会继续执行吗
今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element){ i ...
- 浅谈java中异常抛出后代码是否会继续执行
问题 今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element) ...
- java中异常抛出后代码是否会继续执行
为了回答这个问题,我编写了几段代码测试了一下,结果如下: 代码1:throw new Exception("参数越界"); System.out.println(" ...
随机推荐
- 【Luogu】P1613 跑路
[Luogu]P1613 跑路 一.题目 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资 ...
- go init执行顺序
package test import "fmt" // 初始化函数 引入包的时候要先执行 可以重复定义多个 同一个go文件从上到下 多个文件 是按照字符串进行排序 从小到大 执行 ...
- wifi - 无线相关命令
1.Linux环境下的无线相关操作命令 interface 指代当前网卡 一般是 wifi0 , eth0 , ath1等 ifconfig - 常用查看网络设定及控制网卡(Windows下是ip ...
- JS逻辑运算符之“短路”
逻辑与 && 如(表达式 1 && 表达式 2)参与运算时,程序只运行到对应的位置后,停止运行 二者都为 真(true) 时,返回表达式 2 二者有一个为 假 (fal ...
- OpenCV(c++)-1 安装和配置OpenCV4.4(Windows+visual studio 2019)
@ 目录 安装OpenCV4 在Windows系统安装OpenCV4 配置visual studio 2019 配置包含路径 验证配置结果 安装OpenCV4 OpenCV是一个基于BSD许可(开源) ...
- 【CF1436C】Binary Search 题解
原题链接 题意简介 要求有多少种 n 的排列,能够通过二分法正确地找到放在 pos 处的数字 x. 答案对 1e9+7 取模.n<=1000. 采用的二分法如下图: 思路分析 首先,这个排列中有 ...
- Centos 7 firewall 命令
Centos 7 firewall 命令: 查看已经开放的端口: firewall-cmd --list-ports 开启端口 firewall-cmd --zone=public --add-por ...
- win32之临界区
线程安全问题 每个线程都有自己的栈,而局部变量是存储在栈中的,这就意味着每个线程都有一份自己的"局部变量",如果线程 仅仅使用 "局部变量" 那么就不存在线程安 ...
- eclipse配置springMVC
基础还是创建一个Dynamic web project. WEB-INF/lib中添加必需的jar. commons-logging-1.1.3.jar spring-aop-4.3.6.RELEAS ...
- PHP获取网站中文章的第一张图片作为缩略图的方法
调取文章中的第一张图作为列表页缩略图是很流行的做法,WordPress中一般主题默认也是如此,那我们接下来就一起来看看PHP获取网站中各文章的第一张图片的代码示例 $temp=mt_rand(1,4) ...