Блоки try , catch и finally - C#
Формулировка задачи:
Доброго времени суток бойцы , решил поделится с вами одним наблюдением , может кто-то добавит еще что-то по этой теме....
Всем известно назначение блоком try , catch и finally ... я вот всегда думал в чем все таки смысл блок finally , везде написано что он выполнится вне зависимости выбросит система исключение или нет , но почему б тогда не написать код без этого блока сразу после catch, простенький пример
Но ведь последняя строчка выведется и без последнего блока ? в чем жеж смысл
и тут я наткнулся вот на такую фразу
Блок finally выполнится и в том случае , если любой код в блоке try или в связанных с ним catch приведет к возврату из метода
И правда вот пример
P.S. Удивительное рядом .... если кто-то знает что-то интересное про эти блоки пишите
Листинг программы
- try
- {
- Console.WriteLine("Выполнился try");
- }
- catch()
- {
- Console.WriteLine("Выполнился catch");
- }
- finally
- {
- Console.WriteLine("О да я файнели");
- }
Листинг программы
- private void XXX()
- {
- try
- {
- return;
- }
- catch (Exception ex)
- {
- return;
- }
- finally
- {
- MessageBox.Show("Вопреки ретурнам блок finally выполнится");
- }
- }
Решение задачи: «Блоки try , catch и finally»
textual
Листинг программы
- try
- {
- try
- {
- Console.WriteLine("Выполнился try");
- }
- catch
- {
- Console.WriteLine("Выполнился catch");
- }
- }
- finally
- {
- Console.WriteLine("О да я файнели");
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д