Мы видели много вопросов о try-catch-finally
и try-finally
конструкциях на этом форуме.
Количество ответов увеличивает количество вопросов, поэтому у меня тоже мало.
Вот ссылка на объяснение Microsoft. попробуй наконец строительство. Я это уже читал!
В следующей статье пишет:
В пределах обработанного исключения гарантированно запускается связанный блок finally. Однако, если исключение не обрабатывается, выполнение блока finally зависит от того, как запускается операция очистки исключения. Это, в свою очередь, зависит от того, как настроен ваш компьютер.
Правильно ли я понимаю, что в
try-catch-finally
конструкцияfinally
всегда будет выполняться? (ИсключаяEnvironment.FastFail()
)Я читал о
StackOverFlowException
(этотfinally
блок в данном случае не выполняется) на этом форуме, но когда яthrow
это, блокfinally
выполняется. Так что насчетStackOverFlowException
?Почему блок
finally
не вызывается? (В коде ниже)?В каких случаях мы обычно используем
try-finally
?От какого ПК зависит установка блока
finally
?
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
try
{
throw new Exception();
}
finally
{
Console.WriteLine("finally");
Console.ReadKey();
}
}
}
}