請注意,此代碼:是否有任何情況下finally塊不會被執行?
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塊不會被執行?
您的電腦吹起來。世界末日。電腦睡覺等... – rhughes 2013-03-25 09:57:11
http://thedailywtf.com/Articles/My-Tales.aspx – 2013-03-25 09:58:14
是的,「最後從未執行,因爲我們得到堆棧溢出錯誤。」是Finally塊不會執行的許多情況之一。查看右邊的一些關於這個問題的線索。 – 2013-03-25 09:58:40