TryCatch Не перехватывают ошибку "Попытка чтения или записи в защищенную память" - C#/.NET 4.x

Узнай цену своей работы

Формулировка задачи:

System.AccessViolationException не обработано Message=Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
В общем такая беда, после того как переделал проект под платформу .net4.0 конструкция try catch перестала перехватывать выше указанную ошибку, при сбое в импортированной библиотеке.
[DllImport("parser.dll")]
        private static extern int parse_main(string file, string orig, string dir);
try {
           lastStatus = parse_main(parserPath, filepath, (includePath ?? Path.GetDirectoryName(filepath)));
} catch {
            MessageBox.Show("An unexpected error occurred");
};
Изначально проект был на 2.0, там это без проблем перехватывается. Что нужно сделать чтобы перехватывалась ошибка и в 4.0? я что-то не пойму есть какие-то нюансы в перехвате ошибок неуправляемого кода?

Решение задачи: «TryCatch Не перехватывают ошибку "Попытка чтения или записи в защищенную память"»

textual
Листинг программы
[HandleProcessCorruptedStateExceptions]
void Method()
{
 // тут ваш код с try/catch...
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы