社区
Java EE
帖子详情
一个方法中的一个循环里throw 一个异常,会立刻结束该方法,还是结束本次循环而进入下次循环(当条件成立时)??
gyscsdn
2003-12-11 12:40:22
一个方法中的一个循环里throw 一个异常,会立刻结束该方法,还是结束本次循环而进入下次循环(当条件成立时)??
...全文
1057
8
打赏
收藏
一个方法中的一个循环里throw 一个异常,会立刻结束该方法,还是结束本次循环而进入下次循环(当条件成立时)??
一个方法中的一个循环里throw 一个异常,会立刻结束该方法,还是结束本次循环而进入下次循环(当条件成立时)??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
junyi2003
2003-12-11
打赏
举报
回复
学习!!!
gyscsdn
2003-12-11
打赏
举报
回复
to 小强:
for (int i = 0; i < ddd.size(); i++) {
ArrayList temp1 = (ArrayList) ddd.get(i);
//temp1中所有的元素都是Double
Double s = new Double(0.0);
try {
if (i != 2)
s = (Double) (temp1.get(0));
else
temp1 = (ArrayList) (temp1.get(0)); //exception
}
catch (ClassCastException ex) {
System.out.println("catch ClassCastException");把这句替换为
throw new ClassCastException();
}
System.out.println("T is " + s.doubleValue();
}
System.out.println("catch ClassCastException");把这句替换为
throw new ClassCastException();
呢??
flowercat
2003-12-11
打赏
举报
回复
2.跳出所有循环。
//ddd 是一个包含ArrayList对象的ArrayList
try {
for (int i = 0; i < ddd.size(); i++) {
ArrayList temp1 = (ArrayList) ddd.get(i);
//temp1中所有的元素都是Double
Double s = new Double(0.0);
if (i != 2)
s = (Double) (temp1.get(0));
else
temp1 = (ArrayList) (temp1.get(0)); //exception
System.out.println("T is " + s.doubleValue();
}
}
catch (ClassCastException ex) {
System.out.println("catch ClassCastException");
}
flowercat
2003-12-11
打赏
举报
回复
看代码:
1.结束当前循环,到下一次循环。
//ddd 是一个包含ArrayList对象的ArrayList
for (int i = 0; i < ddd.size(); i++) {
ArrayList temp1 = (ArrayList) ddd.get(i);
//temp1中所有的元素都是Double
Double s = new Double(0.0);
try {
if (i != 2)
s = (Double) (temp1.get(0));
else
temp1 = (ArrayList) (temp1.get(0)); //exception
}
catch (ClassCastException ex) {
System.out.println("catch ClassCastException");
}
System.out.println("T is " + s.doubleValue();
}
flowercat
2003-12-11
打赏
举报
回复
其实很简单,写个测试程序不就知道了!一层一层把异常传到能捕获的地方,如果没有捕获则直到传到main。
其实楼上的都不是绝对的,它可以结束本次循环,到下一次循环,也可以直接跳出所有的循环,关键是看你的异常处理是在哪!
cuij7718
2003-12-11
打赏
举报
回复
楼上说得没错,只是结束本次循环,然后接着进行下一次循环
gyscsdn
2003-12-11
打赏
举报
回复
to ZeroC:
好像不是你说得那样!
象是结束本次循环而进入下次循环(当条件成立时)
ZeroC
2003-12-11
打赏
举报
回复
结束方法跳到上一层
java
中
循环
里
使用
throw
new抛出
异常
问题
在
一个
循环
里
如果使用
throw
new抛出
异常
如下 那么就
会
直接终止
循环
操作,下边的业务代码就都不
会
执行。 解决办法就是不要再
循环
里
加入
throw
new抛
异常
, 建议直接记录日志就好,然后用 continue;来跳出
本次
循环
,继续进行下一次
循环
...
利用
throw
方法
在
循环
结束
后终止代码执行
在原生js
中
,函数内部的for
循环
,我们可以利用return终止
循环
并停止
循环
后面的代码执行,如下 而在jq的$.each()的遍历
中
,return可以跳过当前的一次
循环
,return false则可以终止
循环
,但是它们都无法阻止
循环
之后的代继续执行码。 但是有
时
候我们确实要在遍历达成某种
条件
时
既
结束
遍历,又终止之后的代码继续执行,怎么做呢?之前我是这么做的,加个变量做判断。 这样当...
不要再
循环
里
抛出
异常
今天遇到
一个
bug,是因为
循环
中
抛出了
异常
,导致之后的代码都没有执行,, 所以哇,这种抛出有可能
中
断程序执行的,运行
中
异常
,不要在
循环
中
抛出,只记录
异常
就可以了 举个栗子 //反面示例 try{
throw
new Exception("我发生
异常
啦") } catch (Exception ex) { log.info("
异常
啦"); ex.printStackTrace();
throw
ex; .
实现js
中
的forEach
方法
中
:
中
途跳出
循环
和
throw
new Error()
方法
一:使用return可以
结束
本次
循环
,但不是跳出
循环
(失败)
方法
二:forEach跳出
循环
;
方法
: try catch (成功跳出forEach跳
循环
) 此案例容易出错点 终止for
循环
可以使用break,continue。在forEach
中
使用
会
报错;因为forEach是
一个
函数当Error像
一个
函数一样被使用
时
,也就是没有new,它将返回
一个
Error对象。因此,仅仅调用Error将产生与通过new关键字构造
一个
Error对象相同的输出。 通过Error的构造器可以创建
一个
错误对象。
别拦我,我要撞豆腐 ----- for
循环
中
进行
异常
抛出,for
循环
还能继续
循环
吗?
今天在做
一个
登录逻辑判断的
时
候,在
一个
for
循环
里
,抛出了
一个
自定义
异常
,然后for
循环
就直接被跳出了……???这是我没想到的地方,我忍不了,死活就要让for
循环
继续执行下去。于是再我死钻牛角尖两个多小
时
以后,得出了
一个
很不想接受的结论:在for
循环
里
面抛自定义
异常
,for
循环
一定
会
结束
。 下面是牛角尖代码: //userArrayList是
一个
存放所有用户信息的集合 //这
里
遍历集合,拿出每
一个
用户进行id(账号)和pwd(密码)的比较 for (User users : userArrayList) {
Java EE
67,512
社区成员
225,881
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章