|
|
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
в java есть блок Finally который выполняется вне зависимости от того выдал ли опасный код ошибку или нет , есть ли что нибудь похожие в pl/sql так как приходится переписывать один и тот же код в саму функцию и еще и в exception ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 10:11 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
В PL/SQL - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 10:15 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Elic, то-есть надо один и тот же код прописывать дважды ? а какие нибудь лазейки , хитрости ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 10:23 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
QWASQ1, Добавить в конце алгоритма exception ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 10:40 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
AlexFF__|Добавить в конце алгоритма exceptionВ котором продублировать код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 10:48 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
AlexFF__|QWASQ1, Добавить в конце алгоритма exception Но надо помнить, что это не совсем честная альтернатива. Придется дублировать код столько раз, сколько видов исключений обрабатывается в блоке exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 10:51 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 10:58 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 11:02 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
n0rd1c.c0ldПридется дублировать код столько раз, сколько видов исключений обрабатывается в блоке exception.А умные люди продублируют только раз, обернув в ещё один блок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 11:05 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
ma1tus Emulation of Finally ... n0rd1c.c0ldПридется дублировать кодпроцедуры, функции... не ? Почему не? Вполне. Я отметил, что это не будет честной альтернативой finally. Хотя бы потому что, невозможно забыть "вызвать" блок finally. ElicА умные люди продублируют только раз, обернув в ещё один блок. Рекомендации умных людей никто не оспаривает, но все равно придется делать re-raise в каждом обрабатываемом блоке exception. И помнить в дальнейшем, что re-raise обязателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 13:49 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
QWASQ1, Что-то (хрустальный шар) мне подсказывает, что тебе не нужен блок finally или его аналоги, а тебе просто нужно провести все необходимые проверки до начала обработки. И если какая-то проверка не прошла, то генерировать исключение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 14:04 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Где вы там умудряетесь получать дублирование кода? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Что, конечно, не отменяет странности реализации =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 14:17 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 14:35 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
-2-, стоило бы запретить писать на pl/sql, если бы raise finally; был бы единственный способ использования языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 14:39 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
booby-2-, стоило бы запретить писать на pl/sql, если бы raise finally; был бы единственный способ использования языка. Это да. Вообще, exception - механизм затратный. Это уже много раз обсасывалось на habr. И прогрессивное человечество, которому требуется high performance, пытается совсем не использовать их. Но PL/SQL - все таки не язык для скоростных алгоритмов, а бизнес-язык, поэтому здесь уместны sql exception (no_data_found, too_many_rows), и некоторые остальныe из стандартныех. Своих, высосанных из пальца, exception лучше не плодить, а обходиться другими способами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2017, 09:47 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Elicn0rd1c.c0ldПридется дублировать код столько раз, сколько видов исключений обрабатывается в блоке exception.А умные люди продублируют только раз, обернув в ещё один блок. Зачем код -то дублировать? case по sqlcode в большинстве случаев достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 09:01 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Правда так делать не надо. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 09:04 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевElicпропущено... А умные люди продублируют только раз, обернув в ещё один блок.Зачем код -то дублировать? case по sqlcode в большинстве случаев достаточно.Мсье точно знает, что такое finally? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 09:07 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Elic, сделать - что-то в конце блока, оттянув конец, каким бы ужасным он не был. ) Обсуждали вариант с бросанием левого исключения и его перехватом наравне с другими. Дальше все просто. По кейс старая логика (один раз). Финал (один раз). Все что не вписывалось в старую логику еще раз на raise_new_exception (sqlcode, sqlerrm); P.S. подход не без недостатков. И оборачивание в двойной блок, лучше. Но смысл тот же. P.P.S. и да стектрейс будет не торт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 09:18 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Хотя блоков лучше не два, а три... :) P.S. дайте мне таблеток от жадности и побольше. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 09:26 |
|
||
|
Есть ли в Оракле блок Finally как в java
|
|||
|---|---|---|---|
|
#18+
QWASQ1в java есть блок Finallyв Java-то есть, а в байткоде-то нет: https://stackoverflow.com/questions/29061627/why-does-the-java-compiler-copy-finally-blocks ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 09:29 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1885433]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
331ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 610ms |

| 0 / 0 |
