我有一个循环遍历实体框架结果的foreach
循环。每个结果都通过一个函数传递。因此,为了捕获任何错误,我有一个try/catch
块设置。
这样的事情:
foreach (var resetReq in query)
{
try
{
Console.WriteLine("Attemtping password reset for: " + resetReq.uname);
if (adTools.resetPassword(resetReq.uname, resetReq.agentUCID))
{
Console.WriteLine("Password reset for: " + resetReq.uname);
using (var updateDB = new resetDB())
{
Request r = updateDB.Requests.First(x => x.id == resetReq.id);
r.reqCompletedDate = DateTime.Now;
r.completed = 1;
updateDB.SaveChanges();
Console.WriteLine("Reset record for: " + resetReq.uname +
" updated successfully to reflect completion.");
}
}
}
catch (Exception ex)
{
mailFunctions mailFunc = new mailFunctions();
mailFunc.sendMail(ex);
continue;
}
}
我的问题是,我的catch块中的continue
语句是否正常运行?
意思是一旦抛出异常并且我的邮件功能被触发,它会继续循环吗?
答案 0 :(得分:4)
continue
将有效。
然而,这是多余的。您根本不需要continue
,因为在catch
块之后没有代码,因为任何异常被捕获而需要跳过。