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

StackOverflow https://stackoverflow.com/questions/1349613

Вопрос

Существует ли атрибут прагмы или отладчика, который позволит отладчику не прерываться при возникновении определенного исключения? Несмотря на то в меню «Отладка >> Исключения» я сказал, чтобы он прерывался при возникновении каких-либо исключений CLR?

В общем, во время разработки мне нравится, чтобы во время отладки он прерывался на исключения, чтобы я мог немедленно их проверить.Иногда бывают отдельные случаи, когда известно, что этот блок кода иногда выдает исключения, и я обработал их с помощью try-catch.Видеть ответ на этот вопрос где был достигнут консенсус в том, что попытка-поймать является наиболее правильной ситуацией.

Я хотел бы иметь возможность установить атрибут для метода (что-то аналогичное System.Diagnostics.DebuggerHiddenAttribute), который просто игнорирует любые исключения, возникающие в методе.

Кстати, сейчас я испытываю это в Visual Studio 2008, но предполагаю, что есть ответ либо для всех версий, либо ни для одного.

Это было полезно?

Решение

Прямой ответ можно найти в пункте меню «Исключения» меню «Отладка».Это настройка для каждого решения/проекта.(Инструменты > Параметры > Отладка — общесистемный параметр.) См. раздел справки. Отладчик Visual Studio, инструкции:Прерывание при возникновении исключения в http://msdn.microsoft.com/en-us/library/d14azbfh.aspx для получения подробной информации.Диалоговое окно «Исключения» позволяет вам указать, какие исключения выдаются или какие исключения попадают в отладчик.

Я обнаружил, что получаю больше пользы от DebuggerStepThrough атрибут.

В общем, я оставляю выдачу исключений по умолчанию (Отладка > Исключения, необработанные пользователем отмечены и Выброшенные не отмечены) и добавляю DebuggerStepThrough атрибут для методов, в которых я не заинтересован в прохождении и не заинтересован в возникновении каких-либо исключений внутри этого метода.Я редко использую DebuggerHidden, и получите больше пользы с DebuggerNonUserCode в коде библиотеки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top