Вопрос по exception-handling, c#, visual-studio – Разрыв только для определенных типов исключений

8

Я знаю, что обработка исключений - очень важная вещь, и мы делаем это во всех наших проектах. Основная причина заключается в регистрации ошибок, которые возникают у клиентов. Это прекрасно работает и не проблема вообще.

Но хотя я все еще кодирую и запускаю приложение в Visual Studio, я вообще не хочу никакой обработки исключений. Я хочу, чтобы отладчик остановился прямо на той строке, в которой произошло сбой приложения, а не в каком-то журнале ошибок, который я написал. И я не хочу пересылать исключения с помощью throw!

Но я все еще ищу простой способ сделать это. Я мог бы написать бесчисленное множество#if Debug или же#if Release заявления вокруг попытки / поймать, но это не то, что я хочу сделать. Есть ли другой способ справиться с этой проблемой?

Почему вы не можете кодировать с существующей обработкой исключений? JonH
@ JonH - Предположительно есть проблемы с производительностью. Обработка исключений удобна и универсальна, но имеет свою цену. Hardryv

Ваш Ответ

5   ответов
0

не устанавливая точки торможения для типа исключений, кодов взлома - вы можете установить его с помощью меню отладки -> исключение, это позволит вам делать то, что вы хотите.

16


(2) Меню отладки, исключения
(3) Для типов исключений, о которых вы заботитесь, установите флажок Брошенный.

Это сделает так, что всякий раз, когда выбрасывается исключение из выбранных типов, вы автоматически взламываете его. Если вы хотите вернуться к обычной отладке, вернитесь в то же самое окно «Исключения» и нажмите «Сбросить все», и вы вернетесь к настройкам по умолчанию.

У меня просто была проблема, что у меня не было столбца «User Unhandled». Этот помог мне:stackoverflow.com/questions/4560497/... TweeZz
Кнопка «Найти ...» также очень хороша даже при частичном совпадении имен. Robert Davis
1

Exception Check все под колонкой «Брошено». По умолчанию все элементы будут проверяться на наличие столбца «Необработанный пользователь»

Таким образом, отладчик будет прерываться всякий раз, когда выдается исключение.

Примечание: это не будет частью свойства проекта

У меня просто была проблема, что у меня не было столбца «User Unhandled». Этот помог мне:stackoverflow.com/questions/4560497/... TweeZz
9

исключения. Смотрите меню Отладка -> Исключения.

Для дополнительной информации:

Как: сломаться, когда выдается исключение

1

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

Похожие вопросы