Можно ли генерировать исключения в неуправляемой DLL и обрабатывать их в управляемом приложении?
Моя неуправляемая C ++ DLL выдает исключения в случае ошибок, и они должны быть обработаны в вызывающем исполняемом приложении.
CMyFileException *x = new CMyFileException;
throw(x);
Раньше это работало, но теперь приложение скомпилировано с разными флагами (/ clr и т. Д.), Потому что нам нужно использовать некоторый управляемый код. Когда генерируется исключение, я получаю System.ExecutionEngineException, который, похоже, не перехватывается даже с помощью catch (...) в моем вызывающем exe.
Я видел, что параметр компилятора / clr подразумевает / EHa для обработки исключений, но, насколько я понимаю, это, похоже, вариант для выбора.
Будет ли какая-либо другая альтернатива (настройка компилятора / компоновщика) для генерирования и перехвата исключений через границы модуля (DLL / exe)?
Спасибо за поддержку! Марко