Полагаю, я упускаю что-то действительно тривиальное здесь, но по причине, это не очевидно для меня.Я всегда предполагал, что «наконец-то» всегда выполняется, независимо от исключения или нет.
В любом случае, этот код не был выполнен, и я не уверен, почему.Он достигает i = i / j и выдает исключение DivideByZero, но я бы подумал, что он продолжит и выполнит оператор finally перед остановкой.
static void Main(string[] args)
{
int i = 1;
try
{
int j = 0;
i = i / j;
Console.WriteLine("can't get");
}
finally
{
Console.WriteLine("finally ran");
}
}