|
|
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
maytonЧто будет если в блоке обработки исключений возникает новое исключение? В данном псевдо-бейсике? mayton, пять баллов. Ты поймал пойнт. в момент перехода на метку открывающую блок кода обработки ошибки, взводится глобальное состояние "я, система исполнения нахожусь в состоянии восстановления (ошибки)". По памяти, примерно вот что происходит. Эта зона вне перехвата ошибок. Любая ошибка, происходящая в текущем контексте не может быть перехвачена в нем же и (если) возникающая ошибка прерывает выполнение текущего контекста, передавая управление вызывающему контексту, если он есть, где начинает действовать обработчик ошибки вызывающего контекста, если он установлен. иначе краш программы. Поэтому, непосредственно внутри блока обработки ошибки их, ошибок не предполагается. Если необходимо, чтобы восстанавливающий ошибочное состояние код обязательно отрабатывал в "нормальном" глобальном состоянии, а не в глобальном состоянии "обрабатываю ошибку", то применяют либо двойное goto (где первое из них - это resume, а второе goto должно магическим образом знать, куда осуществлять переход. либо используется on error goto -1, который отключает глобальный режим "обрабатываю ошибку" в последовательности команд, на которую был осуществлен переход по ошибке после ранее установленного on error goto label. авторДавайте порассуждаем. Как может быть достигнуто такое поведение? Каждый оператор который (потенциально выбрасывает исключение) должен быть обёрнут в do{..}while() ? технически стартовой точкой для воспроизведения простой resume-механики может быть код вида label: do{... if (is_error) {break label;} else {break;} while(1=1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2015, 22:54 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
booby, label: походу - первым же кликом нашлось предложение от 2012 года - JSR: 901 MR о реализации в яве явного goto Автор(ы) понимают, что что уже не успевают в восьмерку со своим предложением. Но считают, что реализовать надо обязательно. По их мнению, не менее 25% кодовой базы, выписанной в виде циклов, требует переписывания с использованием goto. Так что, к девятке ждите. Тогда и с бейсиком в яве полегчает. https://blogs.oracle.com/darcy/entry/upcoming_jep PS если и правда сделают, то у явы может оказаться серьезное будущее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2015, 03:58 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
booby, посмотри на дату публикации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2015, 04:40 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2015, 12:44 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
Usman, вопросы: возможен ли перход из catch в середину try? сохранены ли значения остальных полей ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2015, 14:59 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
вадя, Если бы мне кто-то пожаловался на то, что трудно писать приложение, поскольку отсутствует GoTo, я бы ответил, чтобы он перепроектировал свой проект с нуля, потому, что такой извращенный код для обработки ошибок можно использовать только там , где стоимость потерянных данных равна 0 копеек. Кстати, такой случай был, но я просто посоветовал подумать о том, что язык проектировался не дураками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 12:47 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
Valery Shiskinвадя, Если бы мне кто-то пожаловался на то, что трудно писать приложение, поскольку отсутствует GoTo, я бы ответил, чтобы он перепроектировал свой проект с нуля, потому, что такой извращенный код для обработки ошибок можно использовать только там , где стоимость потерянных данных равна 0 копеек. Кстати, такой случай был, но я просто посоветовал подумать о том, что язык проектировался не дураками. последний раз когда я использовал goto это был ассемблер для 580 но в данном варианте goto имеет несколько другой смысл (я про VBA) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 13:21 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
вадянадо возврат назад... а зря такого нет в java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 13:28 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
rema174вадянадо возврат назад... а зря такого нет в java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. это я знаю, но это совсем не то, что я спрашивал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 13:45 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
вадя, более близкого к goto врядли найдеш, значит надо реорганизовать свой код так, чтобы использовать label, если таки надо желать ход конем назад ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 14:08 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
rema174вадя, более близкого к goto врядли найдеш, значит надо реорганизовать свой код так, чтобы использовать label, если таки надо желать ход конем назад мне надо не просто назад вертуться мне надо поймать исключение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 14:18 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
вадямне надо не просто назад вертуться мне надо поймать исключение. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 14:23 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
rema174, как вариант, но костыль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 14:37 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
вадя, так goto это и есть костыль, который в джаве не используется ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 14:38 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
rema174вадя, так goto это и есть костыль, который в джаве не используется ) Он существует в виде опкодов goto(0xa7) и goto_w(0xc8) на уровне спецификации jvm как ни странно. Знающие люди хотя-бы раз открывали этот документ и вкурсе. А люди незнающие - распростаняют и множат заблуждения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 15:13 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
rema174вадямне надо не просто назад вертуться мне надо поймать исключение. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. в данном случае метка label лишняя. такой вариант Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. как более логичный, но не откомпилируется в конечном результате 17712315 отличается от 17708664 только разным применением while ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 15:19 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
maytonrema174вадя, так goto это и есть костыль, который в джаве не используется ) Он существует в виде опкодов goto(0xa7) и goto_w(0xc8) на уровне спецификации jvm как ни странно. Знающие люди хотя-бы раз открывали этот документ и вкурсе. А люди незнающие - распростаняют и множат заблуждения. а что толку что оно есть "на уровне спецификации"? если goto нет возможности использовать явно, значит не просто так это сделано mayton, вместо того чтобы писать "околовсячину" почитай чтоли вот это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 15:28 |
|
||
|
Возможно ли такое использование исключеий..
|
|||
|---|---|---|---|
|
#18+
Мне неинтересно читать ссылки на чужие аргументы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2015, 15:45 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38972648&tid=2125345]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 481ms |

| 0 / 0 |
