У меня есть модульные тесты MS Test, которые гарантируют, что Exception
выбрасывается, когда тестируемому методу дают неверные аргументы. Я использую шаблон:
My actual;
bool threw = false;
try
{
actual = target.DoSomething(aBadParameter);
}
catch
{
threw = true;
}
Assert.IsTrue(threw);
У меня есть CLR Exceptions, устанавливаемые для прерывания только когда пользователь не обрабатывается (не когда выбрасывается). Однако, когда DoSomething()
выдает new Exception()
, отладчик прерывается. Если я продолжу, юнит тест успешно завершен.
Если я вырезал и вставлял код модульного теста в основную программу и запускал его в контексте основной программы (вместо MS Test), отладчик не прерывался при исключении, обработанном пользователем.
Как предотвратить отладчик для моих исключений, обработанных пользователем?
Это не отображается на поверхности, относящейся к
Получение необработанного исключения в отладчике VS2010, даже если исключение обработано
потому что в этом случае исключение создавалось в другом потоке и перебрасывалось CLR внутри обратного вызова.