在catch块中使用continue语句

时间:2014-11-04 06:17:14

标签: c# entity-framework foreach catch-block

我有一个循环遍历实体框架结果的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语句是否正常运行? 意思是一旦抛出异常并且我的邮件功能被触发,它会继续循环吗?

1 个答案:

答案 0 :(得分:4)

continue将有效。

然而,这是多余的。您根本不需要continue,因为在catch块之后没有代码,因为任何异常被捕获而需要跳过。