Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 20:32   #1
eracer
Новичок
Джуниор
 
Регистрация: 18.11.2009
Сообщений: 1
По умолчанию SEH исключения

Помогите плз разобраться, где ошибка.
Упрощенно, задача состоит в том, чтобы создать безопасную функцию, заполняющую некоторый массив. Функция возвращает 1 - если это удается сделать и 0 - в обратном случае.

bool FillArray(int ArraySize, int* Array)
{
if (ArraySize == 0) return 0;
__try
{
for (int i = 0; i < ArraySize; i++) { Array[i] = i; }
}
__except(EXCEPTION_EXECUTE_HANDLER) {return 0;};
return 1;
}

Исключючения могут возникать при передаче нулевого указателя, или если ArraySize будет больше действительной размерности массива. На практике получается, что исключение перехватывается лишь в первом случае, во втором - его перехватывает Windows.

Последний раз редактировалось eracer; 18.11.2009 в 20:47.
eracer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка исключения в Delphi Костян Пират Общие вопросы Delphi 5 25.05.2009 17:38
Код исключения символов AlexandrSN Общие вопросы C/C++ 2 19.05.2009 03:54
Исключения Rifler Общие вопросы Delphi 5 12.11.2008 00:29
Оператор исключения Titan123 Общие вопросы Delphi 12 08.07.2008 14:30
Нужна программа исключения списков строк AFOMENKO Фриланс 8 11.12.2007 00:22