|
|
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Есть некий рабочий код проводки товара: создается новая накладная, создаются проводки, создается кассовая операция. Все эти 3 операции обвернуты в try .. except и при возникновении любого исключения на любой стадии ведет к откату пишущей транзакции - все замечательно. Но теперь решил отдельно обработать исключение, которое возникает на втором этапе (проводок) и написал по нему развернутое сообщение об ошибке пользователю с расшифровкой всех параметров. Но теперь основная обертка не знает об исключении и пытается продолжить выполнение алгоритма. Суть вопроса - как мне отработать локальный обработчик исключения и прервать выполнение основного алгоритмся с возбуждением исключения для внешнего обработчика? Как вариант вижу - сделать это все во внешнем обработчике, но это не совсем верно, создание проводки происходит не только в этом алгоритме, но и в других, поэтому реагирование на локальное исключение более правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2020, 21:26 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin Но теперь основная обертка не знает об исключении и пытается продолжить выполнение алгоритма. Есть такое слово - raise ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2020, 21:39 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
wadman GrigoriyFomin Но теперь основная обертка не знает об исключении и пытается продолжить выполнение алгоритма. Есть такое слово - raise а его корректно вызывать в секции EXCEPT ? там какого-то перекоса не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2020, 21:40 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin wadman пропущено... Есть такое слово - raise а его корректно вызывать в секции EXCEPT ? там какого-то перекоса не будет? Да. Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2020, 21:42 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
wadman, спасибо, просто добавил Raise и алгоритм заработал как и прежде!!! Век живи - век учись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2020, 21:48 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Обработали и пришите raise; - исключение будет повторено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2020, 21:48 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
GrigoriyFominВек живи - век учись А в предыдущий век учебник по основам языка прочитать было не судьба?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2020, 22:05 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Именно raise! Точнее просто raise. Я тоже испытал проблемы: в except end raise Exception.create писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 02:02 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin Но теперь решил отдельно обработать исключение, которое возникает на втором этапе (проводок) и написал по нему развернутое сообщение об ошибке пользователю с расшифровкой всех параметров. Верная мысль. GrigoriyFomin Суть вопроса - как мне отработать локальный обработчик исключения и прервать выполнение основного алгоритмся с возбуждением исключения для внешнего обработчика? Читаем классиков: 1950925 P.S. У меня ещё есть AddExceptionFooter и AddExceptionHeaderFooter, об их содержимом можно догадаться самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 02:58 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
softwarer, Вы про Exception.ClassType ? Да, конечно. Я взял JCLDebug и реализовал на нем печать стека на всех исключениях. Стек не отображается если класс исключения EBusinessException. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 12:37 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Mixrud Я взял JCLDebug и реализовал на нем печать стека на всех исключениях. Стек не отображается если класс исключения EBusinessException. Печать стека - не особо нужная вещь. Выдача значений ключевых параметров - гораздо важнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 12:42 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
softwarer Mixrud Я взял JCLDebug и реализовал на нем печать стека на всех исключениях. Стек не отображается если класс исключения EBusinessException. Печать стека - не особо нужная вещь. Выдача значений ключевых параметров - гораздо важнее. ну почему - стек позволяет выловить непредвиденные исключения. Хотя использование DevExpress зачастую дает ошибку в их либах - то в EditorRepository, то в обычных компонентах даты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 16:29 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin ну почему - стек позволяет выловить непредвиденные исключения. В воспроизводимом случае набора ключевых параметров достаточно, чтобы воспроизвести ситуацию и разобраться в происходящем. Стек при этом в исходных данных не нужен, он оказывается виден по факту. В невоспроизводимых же случаях... стек лучше, чем ничего, но не особо помогает. По сравнению с просто местом ошибки он мало что даёт. GrigoriyFomin Хотя использование DevExpress зачастую Ну да. Если бы они платили по десять баксов за исправление каждой своей ошибки, я бы разбогател :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 16:53 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
softwarer, В DevExpress не сталкивался с Exception. А вот с кривой реализацией их компонентов да. Но все подчистил, благо исходники Девок конторой куплены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 17:48 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Mixrud В DevExpress не сталкивался с Exception. Рад за Вас. У меня прямо сейчас в соответствующем списке 37 проблем, большая часть из которых - "неуловимые" баги DevExpress из серии "у одного из пользователей вдруг невоспроизводимо стрельнуло". Например, первый попавшийся случай: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 18:04 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Mixrud В DevExpress не сталкивался с Exception Да и вся концепция обращения с данными в нем, мягко говоря, не очень, попытка скрестить нескрещиваемое. Самое полезное там - dxLayoutControls. Ну и сами контролы сильно лучше VCL-ских, как по дизайну, так и по функционалу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 18:16 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Дубль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 18:16 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Соколинский Борис Самое полезное там - dxLayoutControls. Да ну что Вы :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 18:18 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
softwarer, я серьезно. Вообще не представляю, как без него можно мультиязычное приложение нормально сотворить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 18:25 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Естественно есть у нас баги. И у Эмбаркадеро. Но большинство обращений в саппорт связано с проктостоматологическим сценарием использования наших компонентов. И это беда всех более-менее крупных вендоров больших библиотек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 18:59 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
Соколинский Борис softwarer, я серьезно. Вообще не представляю, как без него можно мультиязычное приложение нормально сотворить. Мне не приходилось всерьёз геморроиться мультиязычностью, не могу сказать. Но свой набор layout-компонент я сотворил после знакомства с явой, году в 2005-м, и когда довелось столкнуться с девэкспрессовским, реакция "уберите это от меня". Очень сложно, неудобно и бедно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 18:59 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
softwarer Очень сложно, неудобно и бедно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 19:08 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
У всех разный уровень вхождения. Кому-то легко, кому-то тяжело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 19:10 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
white_nigger, А вы сотрудник DevExpress ? К TCxExtLookupcombobox можно к вьюхе подключить TCustomDatasource? Году так в 2005 было нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 21:20 |
|
||
|
отловить исключение, обраотать его и передать выше
|
|||
|---|---|---|---|
|
#18+
softwarer Mixrud В DevExpress не сталкивался с Exception. Рад за Вас. У меня прямо сейчас в соответствующем списке 37 проблем, большая часть из которых - "неуловимые" баги DevExpress из серии "у одного из пользователей вдруг невоспроизводимо стрельнуло". Например, первый попавшийся случай: А у вас включён multithreading в опциях? Если включён, то выключите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2020, 21:25 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40009476&tid=2037922]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 423ms |

| 0 / 0 |
