Процесс вылетает несмотря на try - catch(...)
От: agendus  
Дата: 28.05.10 09:19
Оценка:
Добрый день.
Требуется очередной ликбез на тему обработки исключений.
Вот код, намеренно приводящий к ошибке (процесс вылетает):

iLevel = 0;

BidMap::const_iterator c_Bit = (*c_insBit).second.begin();
while ( iLevel < _depth || c_Bit != (*c_insBit).second.end() )   // условие ИЛИ приводит к тому, что итерация случится, даже если итератор указывает на конец контейнера
        {
// попытка обращения к элементу массива, когда итератор указывает на конец контейнера - ВЫЛЕТ
            double P = (*c_Bit).first;
            
            c_Bit++;
            iLevel++;
        }


Вызов функции, выполняющей этот код, обрамлен блоком try-catch(...), в опциях проекта установлено Enable C++ Exceptions — Yes With SEH Exceptions (/EHa). Почему я не попадаю в блок catch, а вылетаю?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.