Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не обрабатывается исключение, при доступе к методу несуществующего объ 
:(
    Опции темы
DPbIH
Дата 5.2.2008, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 3.4.2007

Репутация: нет
Всего: нет



элемент вектора _testEtalons[0] не существует! 
исключение не обрабатывается, вылетает унхэндлд экзэпшн при попытке доступа по адресу!

Код

try
{
               IK->_testEtalons[0]._attributes.updateAttribute(EtalonType::id, 
                                                        EtalonType::name,
                                            EtalonType::desc,
                                            etalonType,
                                            EtalonType::unit,
                                            EtalonType::order,
                                            EtalonType::visible);

}
catch(...)
{
    return;
    /*обращение к атрибутам и методам несуществующего объекта эталона*/
}

PM MAIL   Вверх
xvr
Дата 5.2.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(DPbIH @ 5.2.2008,  11:36)
элемент вектора _testEtalons[0] не существует! 
исключение не обрабатывается, вылетает унхэндлд экзэпшн при попытке доступа по адресу!

Код

try
{
               IK->_testEtalons[0]._attributes.updateAttribute(EtalonType::id, 
                                                        EtalonType::name,
                                            EtalonType::desc,
                                            etalonType,
                                            EtalonType::unit,
                                            EtalonType::order,
                                            EtalonType::visible);

}
catch(...)
{
    return;
    /*обращение к атрибутам и методам несуществующего объекта эталона*/
}

C++ exception != SEH. Используй __try/__except 
PM MAIL   Вверх
EnergoHokum
Дата 5.2.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 600
Регистрация: 10.11.2006
Где: Россия, Ставропол ь

Репутация: 3
Всего: 6



Не забывай только, что __try/__except -- micro$oft-specified (так кажись) расширения, и если у тебя появится мысль о переносимости...
PM MAIL ICQ   Вверх
Lazin
Дата 5.2.2008, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 8
Всего: 154



смотри в сторону _set_se_translator 
в файле <eh.h>
эта ф-я позволяет назначить свой обработчик для исключений SEH, и в этом обработчике преобразовывать их в обычные исключения.
PM MAIL Skype GTalk   Вверх
xvr
Дата 5.2.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(EnergoHokum @ 5.2.2008,  14:51)
Не забывай только, что __try/__except -- micro$oft-specified (так кажись) расширения, и если у тебя появится мысль о переносимости...

SEH в частности и Win32 в общем тоже 'micro$oft-specified', а так как micro$oft не предусмотрел другой метод работы с SEH, кроме __try/__except (_set_se_translator не в счет - он еще более 'MS specific'), то все компиляторы для Win32 должны поддерживать эту сладкую парочку (или конвертировать ее в C++ style exception)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0804 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.