Я пишу консольное приложение для запуска в качестве запланированной задачи, и оно не выполняет блок finally исполняемого кода при его закрытии с помощью кнопки закрытия. Я попытался воспроизвести это поведение с помощью следующего очень простого консольного приложения:
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 не запускается ни в этом тесте, ни в моем рабочем коде.
Я подумал, что наконец-то блоки всегда запускаются (не в этом ли их смысл?). Что здесь происходит?