【发布时间】:2013-03-14 18:28:40
【问题描述】:
请注意这段代码:
class CTestFinally
{
public static void Run()
{
try
{
TryAndTry();
}
catch (Exception exError)
{
Console.WriteLine(exError.Message);
}
finally
{
Console.WriteLine("Finally...!");
}
Console.ReadKey();
}
static void TryAndTry()
{
try
{
TryAndTry();
}
catch (Exception exError)
{
Console.WriteLine(exError.Message);
}
finally
{
Console.WriteLine("Try: Finally...!");
}
}
}
}
最后没有执行,因为我们得到堆栈溢出错误。
是否有任何情况下finally块不被执行,除了 上面的问题?
【问题讨论】:
-
你的电脑炸了。世界末日。电脑休眠等...
-
是的,“最后没有执行,因为我们得到堆栈溢出错误。”是 finally 块不会被执行的许多情况之一。查看右侧处理相同问题的一些链接。
标签: c#