Опрос
Опрос Тема Опроса: как живется с такой...
bars   pie

хорошо    
  0 (0.0%)
плохо    
  4 (30.8%)
регулярно    
  2 (15.4%)
пустяки, дело житейское    
  2 (15.4%)
а в чем суть-то?    
  5 (38.5%)
нам все равно    
  0 (0.0%)




Всего голосов: 13
« Последняя модификация: kms : 04. Сентября 2007 :: 16:51 »
Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Об отработке исключений в наследниках ТП (число прочтений - 7090 )
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Об отработке исключений в наследниках ТП
04. Сентября 2007 :: 16:44
Печать  
А вот скажите-ка, братцы, как вам живется с такой отработкой исключений в классах-наследниках ТП?
  

EventsAV.zip ( 3 KB | Загрузки )

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Об отработке исключений в наследниках ТП
Ответ #1 - 04. Сентября 2007 :: 19:39
Печать  
Рискну дать ссылку на тот же тест, может кому-то будет интересно:
http://itland.ru/forum//index.php?s=&showtopic=20915&view=findpost&p=103357

Исключения исправлены, но самой веселой в этом билде была погоня за раскраской.
  

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


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Об отработке исключений в наследниках ТП
Ответ #2 - 06. Сентября 2007 :: 03:48
Печать  
Ёлки палки, а я то всё думал, чего это оно валится с такими воплями...  Ну хоть знать будем про грабли, и то хлеб.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Об отработке исключений в наследниках ТП
Ответ #3 - 06. Сентября 2007 :: 05:53
Печать  
У меня почему-то по-разному отрабатывается даблклик и Enter: если при даблклике вываливается ошибка, показанная на рисунке (1С продолжает работать), то при нажатии Enter вываливается "ран тайм еррор" и 1С благополучно сворачивается в коврик.
Так у всех?
  

error_002.jpg ( 8 KB | Загрузки )
error_002.jpg
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Об отработке исключений в наследниках ТП
Ответ #4 - 06. Сентября 2007 :: 07:47
Печать  
JohnyDeath писал(а) 06. Сентября 2007 :: 05:53:
У меня почему-то по-разному отрабатывается даблклик и Enter: если при даблклике вываливается ошибка, показанная на рисунке (1С продолжает работать), то при нажатии Enter вываливается "ран тайм еррор" и 1С благополучно сворачивается в коврик.
Так у всех?


у меня так же... но иногда и просто вышибает, раз на раз не приходится...
  
Наверх
wwwICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Об отработке исключений в наследниках ТП
Ответ #5 - 06. Сентября 2007 :: 08:50
Печать  
ADirks писал(а) 06. Сентября 2007 :: 03:48:
Ёлки палки, а я то всё думал, чего это оно валится с такими воплями...  Ну хоть знать будем про грабли, и то хлеб.

Есть идея, что причина предельно проста: RaiseExtRuntimeError без модуля жизни не представляет.

Поэтому у себя в обработчиках ThrowException(), RuntimeError() и т.п. среди прочего добавил конструкции вида:
Код
Выбрать все
	if (CBLModule::GetExecutedModule())
		CBLModule::RaiseExtRuntimeError(copy, mmRedErr);
 



Ну поскольку никто пока не подтвердил, что это правильное решение, точно мы знать не можем.
Но я не жалуюсь Улыбка
  

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


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Об отработке исключений в наследниках ТП
Ответ #6 - 06. Сентября 2007 :: 10:40
Печать  
Беглый взгляд в IDA показывает, что в RaiseExtRuntimeError сравнивается с NULL GetExecutedModule, и если он NULL, то генерится AfxThrowOleException
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Об отработке исключений в наследниках ТП
Ответ #7 - 06. Сентября 2007 :: 11:36
Печать  
Объясните мне, кто/что виноват(о) и что делать ? Улыбка
  

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


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Об отработке исключений в наследниках ТП
Ответ #8 - 08. Ноября 2007 :: 09:17
Печать  
Миш, вот тебе неравнодушный разработчик:
artbear писал(а) 06. Сентября 2007 :: 11:36:
Объясните мне, кто/что виноват(о) и что делать ? Улыбка

Почему ты его вопрос проигнорировал?
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Об отработке исключений в наследниках ТП
Ответ #9 - 08. Ноября 2007 :: 09:20
Печать  
Так мой вариант ответа двумя постами раньше:
http://www.1cpp.ru/forum/YaBB.pl?num=1188924266/5#5
  

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Об отработке исключений в наследниках ТП
Ответ #10 - 08. Ноября 2007 :: 09:29
Печать  
Я правильно понимаю, что в ветке TF_RC1 эти изменения уже имеются?
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Об отработке исключений в наследниках ТП
Ответ #11 - 08. Ноября 2007 :: 09:46
Печать  
fez писал(а) 08. Ноября 2007 :: 09:29:
Я правильно понимаю, что в ветке TF_RC1 эти изменения уже имеются?

Нет. Федор.
Я же декларирую, что в ветке изменен функционал только для ТП.
Иначе мы придем к параллельной разработке, которая рано или поздно перестанет собираться.
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Об отработке исключений в наследниках ТП
Ответ #12 - 08. Ноября 2007 :: 10:10
Печать  
OFF: Патч провайдера включен в ветку, конечно.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Об отработке исключений в наследниках ТП
Ответ #13 - 08. Ноября 2007 :: 12:32
Печать  
kms писал(а) 06. Сентября 2007 :: 08:50:
Есть идея, что причина предельно проста: RaiseExtRuntimeError без модуля жизни не представляет.

Поэтому у себя в обработчиках ThrowException(), RuntimeError() и т.п. среди прочего добавил конструкции вида:
Код
Выбрать все
	if (CBLModule::GetExecutedModule())
		CBLModule::RaiseExtRuntimeError(copy, mmRedErr);
 



Ну поскольку никто пока не подтвердил, что это правильное решение, точно мы знать не можем.

Причины, по которым я не занес исправления в 1С++
- Я лично ТП не юзаю
- у меня нет тестов
- и ты не ответил на следующий пост orefkov-а Улыбка
- какое-то исключение должно быть в любом случае, а в твоем варианте исключение может быть пропущено Печаль, что соответственно может привести к различным результатам, в т.ч. и фатальным.
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Об отработке исключений в наследниках ТП
Ответ #14 - 08. Ноября 2007 :: 17:35
Печать  
artbear писал(а) 08. Ноября 2007 :: 12:32:
Причины, по которым я не занес исправления в 1С++
- и ты не ответил на следующий пост orefkov-а Улыбка

А где там вопрос?

Цитата:
- какое-то исключение должно быть в любом случае, а в твоем варианте исключение может быть пропущено Печаль, что соответственно может привести к различным результатам, в т.ч. и фатальным.

Не понял.
Куда и какое исключение может быть пропущено?

Цитата:
- Я лично ТП не юзаю
- у меня нет тестов

Да я уже понял, что это не по твоему направлению.
Так что вопросов нет.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать