Режим отладки Visual Studio, разрешить исключение, чтобы убить программу - PullRequest
1 голос
/ 05 октября 2011

У меня есть фрагмент кода на C #, который по сути похож на следующий ...

WriteFile();
try {
    RunTest();
} finally {
    DeleteFile();
}

Теперь это было запланировано так, что даже при сбое он очищает оставленные файлы.Это работает, когда не запускается в режиме отладки (хотя при этом появляется сообщение с вопросом, хочу ли я отладить программу или закрыть ее. Закрытие дает соответствующие результаты).

Когда я запускаю это в режиме отладки и нажимаюисключение внутри RunTest, у меня только два варианта.В первом я говорю отладка, чтобы остановить.Это равносильно уничтожению программы, и блок в finally не запускается (поэтому файл не удаляется так, как должен).Если я скажу ему продолжить, он не распространяет исключение вверх, а вместо этого просто вызывает исключение где-то еще.

Есть ли способ заставить режим отладки продолжать работу как обычная программа после нажатия исключения?

Ответы [ 2 ]

2 голосов
/ 05 октября 2011

В меню «Отладка» выберите «Исключения» (или используйте Ctrl + Alt + E ).Откроется диалоговое окно, в котором вы можете снять соответствующие флажки в столбце «Необработанный пользователь» для исключений, которые вы не хотите останавливать при отладке.Я считаю, что распространение исключений будет работать нормально.И вы все равно можете установить точку останова в блоке try или finally, чтобы увидеть, что происходит.

0 голосов
/ 05 октября 2011

Проверьте Отладка / Исключения, если есть какие-либо установленные исключения.

Другим вариантом может быть обработка события Application.ThreadException (Windows Forms) или Application.UnhandledException (Silverlight и т. Д.) И указание приложению продолжить или выйти, в зависимости от серьезности вашего исключения.

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