PDA

Просмотр полной версии : Исключения в DLL. Как обработать и C++ - исключени


bobamc
13.04.2006, 01:06
Hi, All!.

вопросик:
Пишу COM сервер - внутрипроцессорный, интерфейс присутствует один-дуальный, модель потоков free- средствами ATL под VC7++, под Win2000 в выше
опция компилятора Enable C++ Exceptions = TRUE;

Вопщем наворотил кучу всего, и кучу классов исключений C++, все это работает, - внутри проекта dll исключения C++ кидаютса и там же ловятса, - преобразуясь в HRESULT и ICreateErrorInfo.
Но необходимо еще отловить исключения ОС (нарушение доступа к странице, т.е. например чтение по нулевому указателю) что бы ано не улетало клиенту, обратотать их, (что то вроде из сишного блока __except (EXECUTE_HANDLER) кинуть Exception C++, и что бы это все коректно отработало, в вызовами деструкторов и т.д. и т.п.)
Подскажите, возможно ли такое? Как?

пробовал ловить еще и

catch(...) {...};

,но например конструкцию:

char *r=NULL;
*r=0;

внутри функции, он у меня не поймал, - все улетело клиенту...