Вопрос про исключения С++ на arm
От: UncleNick  
Дата: 28.01.09 13:02
Оценка:
Всем привет! Помогите пожалуйста решить проблему.
Проблема следующая. Есть exe и dll, подгруженная в нем. В exe вызывается метод из dll, например так:

try
{
    procFromDll();
}
catch (CMyException* exc)
{
    //обработка и удаление исключения
}


в dll при вызове функции procFromDll происходит примерно следующее:

try
{
    CMyException* exMy;
        exMy = new CMyException;
        throw exMy;
}
catch (CMyException* ex)
{
    throw ex;
}


Первый вызов фунции dll из exe проходит, а вот второй уже падает (с разными ошибками — или AccessViolation, или Stack Overflow, или просто виснет). Причем, если при вызове функции procFromDll в dll оставить только такой код —

CMyException* exMy;
exMy = new CMyException;
throw exMy;


то все работает.
В чем может быть дело и как избежать ошибки (при том что необходимо оставить отлов и перебрасывание исключения, как в первом варианте)?