Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ВыполняемыйМодуль и исключения (число прочтений - 3435 )
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
ВыполняемыйМодуль и исключения
04. Августа 2007 :: 21:31
Печать  
Может быть и не в тот раздел пишу, но ВыполняемыйМодуль уже вплотную приблизился к ООП.

Разбирался я тут с исключениями в ВыполняемомМодулем. Если сказать в двух словах, то там все плохо.
Я могу сделать все как надо, но не понятно, как должен работать ВыполняемыйМодуль. Например, как должен работать такой тест:

Код
Выбрать все
Процедура ТестИсключенияВМетодахМодуля() Экспорт
	Сам = Сам();
	Модуль = ВМ();
	Модуль.УстановитьМодуль(
	"Процедура Проц() Экспорт
	|  а=1/0;
	|КонецПроцедуры
	|
	|Функция Функ()
	|  Возврат 1/0;
	|КонецФункции");

	Модуль.КомпилироватьИВыполнитьМодуль();

	Модуль.Проц();
	рез=Модуль.Функ();

	Модуль.РазрешитьИсключения();
	Модуль.Проц();
	рез=Модуль.Функ();
КонецПроцедуры 



Я считаю, что исключения должны возникать во всех вызовах Проц() и Функ(). Можно, конечно, если исключения не разрешены, вместо исключений просто выводить сообщения об ошибках и продолжать исполнение кода. Но мне не нравится такой вариант.

А что думаете об этом вы?

Сейчас исключения теряются и вылазят наружу при завершении очередного метода пользовательского класса.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ВыполняемыйМодуль и исключения
Ответ #1 - 05. Августа 2007 :: 07:27
Печать  
Плохо, факт.
Видимо, должны быть везде.

А нужен он теперь вообще, ВМ?
Чем отличается ВМ от класса, подгруженного из строки?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: ВыполняемыйМодуль и исключения
Ответ #2 - 05. Августа 2007 :: 15:37
Печать  
Не занаю, зачем нужен ВМ "вообще".  Улыбка

Мне он нужен, чтобы вычислять произвольные выражения. Здесь имеются следующие моменты:

1. Шаблон() на подходит, так как: а) из него не выходят ошибки, б) при ошибках он выдает что попало в панель сообщений.
2. Определять каждый раз для этого класс не хочется.
3. Я использую версию 2.0.3.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ВыполняемыйМодуль и исключения
Ответ #3 - 05. Августа 2007 :: 16:54
Печать  
Хых Улыбка

Имелось в виду, что при наличии определенной инфраструктуры по загрузке, регистрации и удаления классов из строк, ВМ наверное будет дублировать функционал ООП.
Или мсье любитель извращений вроде "ПрисоединитьТекущийМодуль()?" Подмигивание

С другой стороны, конечно, можно довести до ума ВМ, а размышления о картине в целом отложить на послезавтра.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: ВыполняемыйМодуль и исключения
Ответ #4 - 05. Августа 2007 :: 19:35
Печать  
Тот тест, который я привел - это побочный продукт моих изысканий. Если скажете оставить как есть, то я оставлю. Я этим не пользуюсь.

Интересные мне исключения терялись в методах ВыполнитьМодуль() и КомпилироватьИВыполнитьМодуль(). Я их там исправил для версии 2.0.3. В ствол (2.5) залью после выполнения рефакторинга.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ВыполняемыйМодуль и исключения
Ответ #5 - 05. Августа 2007 :: 20:45
Печать  
Кстати, BLModuleWrapper я и сам сто лет как переписал, еще со времен отладки классов.
А вот ExecuteModule совсем не было интереса смотреть, в долгосрочном плане я в нем смысла не вижу.

Но если там логика исключений встала на место - хуже не будет.
Если звезды зажигают - значит...
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ВыполняемыйМодуль и исключения
Ответ #6 - 06. Августа 2007 :: 03:53
Печать  
То, что при выполнении ВМ теряются исключения, мне давно не нравилось!!
Я только приветствую твое исправление Улыбка
+1
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ВыполняемыйМодуль и исключения
Ответ #7 - 06. Августа 2007 :: 04:17
Печать  
Цитата:
Если звезды зажигают - значит...

Значит, это кому-то нужно. Нужно мне. Улыбка Пользуюсь с удовольствием.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать