首页 新闻 会员 周边

中断循环 并 返回值

0
[已解决问题] 解决于 2010-05-14 16:24

 

for(int i = 0; i < sArray.Length; i++)

if(sArray[i].ToString() == "01"){... }

else if(sArray[i].ToString() == "02"){... }

else if(sArray[i].ToString() == "03"){... }

 

01,02,03分别对应不同的操作,通过循环执行所有数组里对应的操作,但是一旦某次循环中对应的if函数中出错就返回相应的错误信息并终止下面所有的循环....

 

请问该怎么终止循环并返回错误信息啊?

如果用return然后break,虽然可以返回值,但是没法执行break整个循环

如果先break又没法返回值。。。。  - =

 

求教!

问题补充: 不好意思没说清楚,所谓的出错就是判断某些条件没有满足,人为的中断程序。比如说某些要求的值没有输入,并不是真的有什么数据异常。。。 所以我需要返回提示信息,而且设想是一旦发现哪里不对了就立刻终止不用继续往下执行了。。。 所以这个没法try...catch吧
我爱阳光的主页 我爱阳光 | 菜鸟二级 | 园豆:204
提问于:2010-05-14 09:51
< >
分享
最佳答案
0

把每一个IF中的代码都Try住,然后在catch中记录错误信息,并不break。这个错误信息可以是数组的形式,和你的维数相对应,这样循环完了,再遍历一下错误信息的数组,就知道对应的错误信息了。

Astar | 高人七级 |园豆:40805 | 2010-05-14 10:22
如果是按照你说的那种,还用上面的方法,只不过不用try了,这样更好,根据判断把不满足的错误信息存入strs+=或数组里,返回第一条出错的信息。如果不想再向下执行就break.“人为的中断程序”不明白。
Astar | 园豆:40805 (高人七级) | 2010-05-14 11:32
额,我语言表达的不好,“人为的中断程序”就是说,不继续往下执行了,跳出循环。。。 (┬_┬)
我爱阳光 | 园豆:204 (菜鸟二级) | 2010-05-14 11:47
其他回答(3)
0

抛异常。不过我不明白的是你所说的if函数出错是什么意思!

Ou lei | 园豆:619 (小虾三级) | 2010-05-14 10:07
0
public string GetErrorInfo()
{
string result=string.empty;
for(int i = 0; i < sArray.Length; i++)
{
switch(sArray[i].ToString())
case "01":
result
="error info No1:";
return result;
case "02":
result
="error info No2:";
return result;
default:return result;

}
}
//按钮事件中调用

string err=GetErrorInfo();
if(err.Length>0)
{debug(err);
return;
}

 

 

邀月 | 园豆:25475 (高人七级) | 2010-05-14 11:37
就return 能中止循环么??
支持(0) 反对(0) 我爱阳光 | 园豆:204 (菜鸟二级) | 2010-05-14 16:24
@小奈鲁: 当然能
支持(0) 反对(0) 邀月 | 园豆:25475 (高人七级) | 2010-05-16 17:53
0

设定全局变量。string message;

然后在条件不满足的情况下,message='提示';break;

邢少 | 园豆:10926 (专家六级) | 2010-05-14 11:44
感谢你的回答~ 可是前面有兄台先答了就选他做最佳答案了,仍然很谢谢你!
支持(0) 反对(0) 我爱阳光 | 园豆:204 (菜鸟二级) | 2010-05-14 16:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册