我正在編寫一個控制檯應用程序作爲計劃任務運行,並且當您使用關閉按鈕關閉它時,它似乎不會執行運行代碼的finally代碼塊。我試圖複製具有以下非常簡單的控制檯應用程序,此行爲:C#控制檯應用程序最後沒有調用
using System;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
try
{
Thread.Sleep(60000);
}
finally
{
Console.WriteLine("Finally");
}
}
}
}
當通過調試運行,這並不在Console.WriteLine
行遇到斷點。我不確定這個簡單的測試是否按預期工作,或者爲什麼finally塊不會在這個測試或我的生產代碼中運行。
我以爲終於塊總是運行(是不是他們的全部?)。這裏發生了什麼?
事實證明,我需要做的就是在這個答案使用的代碼: http://stackoverflow.com/questions/474679/capture-console-exit-c/474743#474743 –