Здравствуйте Alexander_1983, Вы писали:
A1>Следующая проблема: A1>у меня приложение написанное с использованием MFC. Выделяю память в конструкторе m_piBuf = new int[iSize], нужно обрабатывать ошибки выделения памяти. Согласно стандарту в случае ошибки при выделении new вернет NULL и бросит исключение std::bad_alloc, согласно документации по MFC будет брошено исключение CMemoryExeption — у меня же в этом месте возбуждается какое-то другое исключение(не CExeption и не std::exeption, отлавливается только на catch(...)). Хотелось бы знать что же все таки происходит. Может нужно включить какие-то опции компилятора(поддержка исключений у меня ВКЛЮЧЕНА). Более того, поиск в MSDN'е поддалкивает меня к мысли, что MSVC6.0 не поддерживает std::bad_alloc, и спецификацию исключений. Помогите разобраться.
А как ты ловишь исключения? Попробуй ловить их по ссылке или указателю, так как выбрасываетсмя ни CExeption, а производный от него класс. Скорее всего выбрасывается все-таки CMemoryExeption, но по указателю. А лучше, сходит под отладчиком и все узнаешь сам. Для этого можно заставить отладчик останавливаться при выбросе исключения.