Неуправляемые исключения - PullRequest
2 голосов
/ 19 марта 2011

У меня есть метод, который вызывает неуправляемую библиотеку из фонового потока.Я поставил блок try catch вокруг неуправляемого вызова, но он никогда не перехватывается.Отладчик точно вовремя ловит его.Что я делаю не так?

    public bool TurnOn()
    {
        var connectionSucceeded = false;
        try
        {
            connectionSucceeded = turnOn(); //Unmanaged call
        }
        catch
        {
            connectionSucceeded = false; //Never reaches this block                
        }

        return connectionSucceeded;
    }

Ответы [ 2 ]

1 голос
/ 19 марта 2011

Я полностью согласен с Stuart ответом. В этом случае вы можете попробовать поймать исключение на уровне приложения:

AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionEventRaised;

Плз см. Также этот ответ: AppDomain.CurrentDomain.UnhandledException не запускается без отладки

1 голос
/ 19 марта 2011

Настройка отладчика для обработки неуправляемых исключений при их возникновении?

Проверьте настройки в Debug> Exceptions

Кроме того, неуправляемое исключение определенно генерируется в вызываемом потоке, а не в какой-то асинхронной операции в другом потоке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...