C#: 2008 Visual Studio имеет инструмент для показа, какие Исключения могли быть повышены частью кода?

Например, если я открываю файл, я знаю, что FileNotFoundException мог бы произойти, или если я преобразовываю Строку для удвоения, FormatException может произойти. Очевидно, если метод делает обоих, оба могут быть повышены.

Существует ли способ быстро видеть все возможные исключения, повышенные методом хотя? Отслеживание его самостоятельно кажется подверженным ошибкам.

26
задан zxcvbnm 10 February 2010 в 23:17
поделиться

4 ответа

Это не встроено в VS. Однако есть сторонние инструменты, например Redgate's охотник за исключениями.

Edit Я не работаю в RG, но являюсь поклонником их продуктов. Я пробовал именно этот, но в итоге мы его не купили.

10
ответ дан 28 November 2019 в 17:28
поделиться

Если мне не изменяет память, подсказка intellisense должна иметь список исключений, который метод может выдавать. Вы также можете открыть вкладку браузера в Visual Studio, указав на MSDN, например: http://msdn.microsoft.com/en-us/library/b9skfh7s.aspx#ddueExceptionsToggle

1
ответ дан 28 November 2019 в 17:28
поделиться

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

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

.
0
ответ дан 28 November 2019 в 17:28
поделиться

Я думаю, что Resharper делает это, если мне не изменяет память. Посмотрите на Pex, это тоже может вас заинтересовать.

0
ответ дан 28 November 2019 в 17:28
поделиться
Другие вопросы по тегам:

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