假设我有这样的代码:
try
{
for (int i = 0; i < 10; i++)
{
if (i == 2 || i == 4)
{
throw new Exception("Test " + i);
}
}
}
catch (Exception ex)
{
errorLog.AppendLine(ex.Message);
}
现在,很明显执行将停止i==2
,但我想让它完成整个迭代,以便在errorLog
有两个条目(对于i==2
and i==4
)
那么,即使抛出异常,是否也可以继续迭代呢?
只需更改范围即可catch
位于循环内部,而不是外部:
for (int i = 0; i < 10; i++)
{
try
{
if (i == 2 || i == 4)
{
throw new Exception("Test " + i);
}
}
catch (Exception ex)
{
errorLog.AppendLine(ex.Message);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)