在我的代码中,我有一个循环,位于try
catch
内。遇到错误,catch
阻止有效,应记录错误并发送电子邮件通知错误消息。
现在我希望它能够做到这一点,然后回到循环中继续治疗。
如果我必须遍历100条记录,并且在第51条记录中检测到错误,那么catch
应该记录它,通过电子邮件发送,然后返回继续第52条记录(类似于RESUME NEXT在VBS)。
如何做到这一点?
答案 0 :(得分:9)
在循环中捕获异常(不在循环外部)。然后它将继续循环。
答案 1 :(得分:3)
foreach(var record in records)
{
try
{
processRecord(record);
}
catch(*Exception that you are interested in*)
{
// log exception
// spawn new backgroundworker to send email about exception
}
}
答案 2 :(得分:1)
将以下结构放在循环中:
//While (Looping)
//{
try
{
// write your logic here ..
}
catch(Exception ex)
{
// log exception && send mail
continue;
}
// more logic could be here ..
//}
答案 3 :(得分:1)
在我的代码中我有一个循环并在try catch中,
如果你的try-catch块在你的循环中,那么你应该没问题:
for ( ... )
{
try
{
...
}
catch (...)
{
...
}
}
如果它在你的for循环之外,那么只需将其移入内部:)