Хорошо, я отвечу на свой вопрос, потому что я действительно думаю, что такого рода функции должны быть включены в .NET IDE будущего.
Представьте себе код отладки и во время пошагового выполнения, и часть кода будет выделена, щелкните правой кнопкой мыши и выберите «выбросить исключение». Выпадающий список предоставляется с предопределенными исключениями или просто с новым общим исключением. Таким образом, вы можете тестировать код гораздо быстрее, без необходимости написания конкретных тестовых случаев.
Я также не верю, что написание тестовых случаев всегда возможно. Например, допустим, я запрашиваю данные из веб-службы. И я хочу поймать следующие исключения: SSL Trust Failure, соединение отказано, ресурс 404 не найден. Я был бы удивлен, если есть способы написания этих тестовых случаев, когда запрашиваемая вами служба не является вашей собственной. В этих случаях представьте, насколько было бы лучше, если бы вы могли просто вмешаться, и в нужном месте щелкните правой кнопкой мыши, выберите «выбросить новое исключение», а затем в диалоговом окне выберите точный тип исключения, которое вы хотите. , В этом случае вы запускаете код один раз в режиме отладки, каждый раз, когда вы хотите проверить новый тип исключения, просто выполняя правую кнопку мыши. Не нужно останавливать / запускать отладчик или иметь какие-либо временные исключения броска, закодированные повсеместно, которые в конечном итоге должны будут появиться для производственного выпуска.
Я также упомяну, что вы также должны быть в состоянии отступить от секций вылова, что, насколько я знаю, в настоящее время невозможно.
В любом случае, насколько мне известно, лучший способ динамически вызвать подобное исключение во время отладки - это перетаскивать местоположение отладки в точку, где он полагался на код для запуска ранее, чего никогда не делал, поэтому текущая строка кода, которую вы перетаскиваете, недействительна. Это единственный способ, которым я знаю, как это сделать, поэтому, если вы знаете какой-либо другой способ, пожалуйста, оставьте лучший ответ.
Чтобы проиллюстрировать мою точку зрения
- Создать Dir
- Создать файл в директории
Если вы не запустите строку 1, перетаскивая отладчик в строку 2, то строка 2 теперь сгенерирует исключение, потому что теперь каталог не существует, что было бы, если бы код выполнялся нормально.
Lol - если бы я работал в команде VS, вы все были бы намного счастливее разработчиков.