To było moje założenie, że blok finally jest zawsze wykonywany tak długo, jak długo program jest uruchomiony. Jednak w tej aplikacji konsolowej blok finally nie wydaje się być wykonany.Dlaczego ostatecznie nie zostaniesz stracony?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
try
{
throw new Exception();
}
finally
{
Console.WriteLine("finally");
}
}
}
}
Wyjście
Uwaga: Gdy wyjątek, okna askmed mnie, czy chcę, aby zakończyć appliation, powiedziałem 'tak'.
Kliknij 'no' i zobaczyć co się dzieje –
uruchomić go z wiersza polecenia zamiast w swoim IDE – KevinDTimm
To wygląda bardzo dziwnie. "finally" powinno zostać napisane dokładnie po StackTrace. –