尝试Catch Finally嵌套行为,但有异常

时间:2013-05-30 14:55:06

标签: c# exception-handling

所以我想知道嵌套try-catch-finally块的行为。

我的意思是,如果在第一个finally块内,我们有另外的try-catch-finally块,并且在内部finally块中发生了异常?

异常会被传播吗?是否会被某个地方抓住?

我应该在哪里捕捉异常?在内部finally块中,或者如果它被传播,我应该从上面的代码中捕获它吗?

示例:

static bool Func()
{
    try
    {}
    catch
    {}
    finally
    {
        try
        {}
        catch
        {}
        finally
        {
           throw new ApplicationException();
        }
    }
}

1 个答案:

答案 0 :(得分:-1)

取决于。您可以在内部异常中处理异常,但如果您不想处理异常,则可以将其删除,以便外部Try Catch将“接收”异常。

有关更详细的示例,请参阅here