![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
Есть разница - поместить код в блок finally или просто после блока catch?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
![]()
Мне кажется, что разница только в стиле написания.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
А второй вариант - это дурной тон?
|
![]() |
![]() |
![]() |
#4 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 14.12.2007
Сообщений: 1,434
|
![]() Цитата:
![]()
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
![]() |
|
![]() |
![]() |
![]() |
#5 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
![]()
Нет, не дурной тон, и разница есть.
Блок finally сделан для того, чтобы если вылетело исключение в блоке try - catch и нужно вернуться на уровень выше, код в блоке finally выполнялся всегда. То есть даже если вылетит исключение и вы не сможете обработать его в catch - блок finally выполнится. Пример из жизни: 1. Открываем файл 2. Читаем 3. При чтении получаем исключение 4. В блоке finally закрытие файла. В следствие чего файл закроется, если вылетит исключение и программа рухнет или программист забудет обработать это исключение. |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
![]()
Многое зависит от того, как ты обработаешь ошибку. Можно и без выхода на верхний уровень.
|
![]() |
![]() |
![]() |
#7 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
![]() |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
![]() |
![]() |
![]() |
![]() |
#9 | |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
![]()
Никакого холивара - каждый изъясняет свою точку зрения.
Цитата:
|
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
То есть, как я понял, различие появляется, если есть два вложенных блока try. Тогда такой вопрос.
Цитата:
Код:
Код:
Если инициализировать FStream значением null, то при исключении програма вылетает с ошибкой. Последний раз редактировалось ds.Dante; 15.09.2009 в 12:14. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
.NET, зачем он нужен? | Qousio | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 80 | 18.12.2009 23:42 |
Зачем нужен void? | Сергей089 | Общие вопросы C/C++ | 7 | 23.03.2009 17:08 |
Зачем живем? | Simply-Art | Свободное общение | 6 | 16.10.2008 15:44 |
Зачем указателю тип? | Scratch | Общие вопросы C/C++ | 5 | 30.09.2008 11:48 |
Зачем принтеру процессор? | Иллидан | Компьютерное железо | 6 | 21.05.2008 20:11 |