在for循环中重新尝试try-catch

时间:2014-11-25 07:36:51

标签: c# for-loop try-catch

我有一个包含try-catch块的for循环:

for ..
{
   try
           {
                ...
           }
   catch (Exception ex)
           {
               throw ex;
           }
}

现在,如果我将重新抛出异常并将在调用方法中捕获它,程序是否会从下一次迭代继续? (在外部捕获区之后)。

TY!

1 个答案:

答案 0 :(得分:1)

不,不会。抛弃你离开当前的方法(如果你不在这个方法中捕获它),所以它就像一个返回。如果在外部方法中捕获异常,程序将继续使用外部方法:

private void innerMethod()
{
    try 
    {
        throw;
    }
    catch
    {
        throw;
    }
    someMethodThatWillNotBeExecuted();
}

public void outerMethod()
{
    try 
    {
        innerMethod();
    }
    catch
    {
        thisWillBeExecuted();
    }
    thisWillAlsoBeExecuted();
}