|
|
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
Ребята подскажите как реализовать такую фигню try { if(зеленые_обезьяны){ перейти в finally } } catch(new Exceptions){ } finally{ //делаем чето } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 15:26:35 |
|
||
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
p.s. забыл добавить в блок кода (модеры сильно не бейте) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 15:27:52 |
|
||
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
return или метки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 15:45:33 |
|
||
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
просвятите в метки! ретурн у меня полностю вышел из потока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 15:50:14 |
|
||
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
Гугл "java метки", Брюс Эккель "Философия java" гл. "нехорошая команда goto". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 15:56:43 |
|
||
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
Так и знал что goto(), до конца надеялся на лучшее=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 16:12:50 |
|
||
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
whizzzkeyТак и знал что goto(), до конца надеялся на лучшее=) - На счет меток: Прыжки по меткам реализованы совсем по-другому. goto - "неработающее" зарезервированное слово. - Блок finally выполнится всегда - Можно к примеру сделать так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 16:35:48 |
|
||
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
whizzzkey, В блок finally ты попадаешь всегда, поэтому тебе здесь и делать ничего не надо. Код: java 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 22:23:29 |
|
||
|
Как принудительно попасть в finally
|
|||
|---|---|---|---|
|
#18+
23.09.2012 22:23, vas0 пишет: > В блок finally ты попадаешь всегда, поэтому тебе здесь и делать ничего > не надо. +1. Блок finally будет исполнен всегда. В том числе если сделать return. Другой вопрос, КОГДА он будет исполнен. Если выбрасываешь исключение, то СНАЧАЛА обработается исключение. Единственно верное решение - делать отдельную обёртку try - finally для каждого освобождаемого ресурса. Это очень сильно повышает читаемость кода, и гарантирует что не забудешь в конце. Используй короткие блоки try - finally всегда. Тогда не будет проблем что застрявший на чём-то (или ждущий чего-то) поток почему-то удерживает ресурс. Сам понимаешь, ситуации разные бывают. И если зелёная обезьяна, то сначала избавься от зависимости. Вообще в программировании есть золотое правило: если можешь ТОЧНО сказать программе, что ей делать - именно так и пиши. И не нужно лишних абстракций, обёрток, обходов и структурирования. Вплоть до банального дублирования кода, если там пару строчек, и введения проверки "если" в блоке финализации, которая проверит нужно ли что-то финализировать. Для одноразовых задач всегда проще решить "в лоб", оставив рефакторинг на потом, когда (если) именно этот кусок будет клонироваться или масшатбироваться. Как показывает практика, точка роста хотелок заказчика практически никогда заранее предсказать нельзя, и из 100 мест написанных "как понятнее" едва ли 1-2 потребует рефакторинга. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2012, 22:06:04 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=59&tid=2130880]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
58ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 279ms |
| total: | 478ms |

| 0 / 0 |
