OberonCore
https://forum.oberoncore.ru/

Как заменить конструкцию Попытка Исключение ...
https://forum.oberoncore.ru/viewtopic.php?f=81&t=4624
Страница 1 из 1

Автор:  adva [ Пятница, 15 Ноябрь, 2013 06:14 ]
Заголовок сообщения:  Как заменить конструкцию Попытка Исключение ...

Попробовал поискать по форуму, слишком много результатов выдало, очень долго изучать, чтобы найти

Вопрос, как в КП можно это эмулировать? Интересует вопрос взаимодействие, с внешней компонентой, которая может вызвать исключительную ситуацию. Как можно обработать это в ББ, чтобы процедура отработала далее, или хотя бы выдала какой-результат (неинициализированный при этом внешний объект тоже можно воспринять как результат)

Автор:  ilovb [ Пятница, 15 Ноябрь, 2013 08:44 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

Никак

Автор:  adva [ Пятница, 15 Ноябрь, 2013 08:59 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

А при halt куда выходит? Только из процедуры, и код продолжается далее? Если вызвать "проблемную" процедуру из другой, то обе не отработают? Или только "проблемная"?

Автор:  Александр Ильин [ Пятница, 15 Ноябрь, 2013 09:05 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

ilovb писал(а):
Никак
Kernel.Try().

Автор:  adva [ Пятница, 15 Ноябрь, 2013 09:20 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

Я не на КП, а на обероне 07 пишу (который онлайн компилятор), такого там пока (?) нет. Думал может в языке уже есть чего специальное

Автор:  ilovb [ Пятница, 15 Ноябрь, 2013 09:42 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

Александр Ильин писал(а):
ilovb писал(а):
Никак
Kernel.Try().

Спасибо. Не знал.
А как этим пользоваться?

Автор:  Иван Кузьмицкий [ Пятница, 15 Ноябрь, 2013 12:07 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

Описание возможностей модуля Kernel

Автор:  ilovb [ Суббота, 16 Ноябрь, 2013 17:36 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

Спасибо. Но штука оказалась довольно специфической. Только 3 параметра (фиксированного типа) для вызываемой процедуры. Кроме того похоже что нельзя узнать было ли исключение и обработать эту ситуацию. Еще и окно дампа, которое не нужно.

Штука, как я понял, сделана для решения локальной задачи (бинд к winapi), и пользоваться ей не рекомендовал бы.
Возвращаюсь к первому своему мнению :)

ps Да, я понимаю, что есть возможность и окно дампа отключить и, возможно, временно обработку исключений подменить, но это слишком геморно, чревато и неюзабельно.

Автор:  Илья Ермаков [ Суббота, 16 Ноябрь, 2013 20:27 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

Считаю нужным поделиться плюшками:
viewtopic.php?f=2&t=4626

Автор:  ilovb [ Суббота, 16 Ноябрь, 2013 22:45 ]
Заголовок сообщения:  Re: Как заменить конструкцию Попытка Исключение ...

Вот это уже оно. Спасибо большое!

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/