我有一个包含try-catch块的for循环:
for ..
{
try
{
...
}
catch (Exception ex)
{
throw ex;
}
}
现在,如果我将重新抛出异常并将在调用方法中捕获它,程序是否会从下一次迭代继续? (在外部捕获区之后)。
TY!
答案 0 :(得分:1)
不,不会。抛弃你离开当前的方法(如果你不在这个方法中捕获它),所以它就像一个返回。如果在外部方法中捕获异常,程序将继续使用外部方法:
private void innerMethod()
{
try
{
throw;
}
catch
{
throw;
}
someMethodThatWillNotBeExecuted();
}
public void outerMethod()
{
try
{
innerMethod();
}
catch
{
thisWillBeExecuted();
}
thisWillAlsoBeExecuted();
}