Какой лучший способ вызвать исключение в C #? - PullRequest
41 голосов
/ 03 декабря 2008

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

try
{
   int zero = 0;
   int result = 100 / zero;
}
catch (DivideByZeroException ex)
{
   LogHelper.Error("TEST EXCEPTION", ex);
}

Код работает просто отлично, но я чувствую, что должно быть более элегантное решение. Есть ли лучший способ вызвать исключение в C #?

Ответы [ 12 ]

0 голосов
/ 08 ноября 2011

делает

System.Diagnostics.Debug.Assert(condition);

дать вам альтернативу?

Возможно, тогда используйте

catch (AssertionException) { }

для регистрации неудачного теста.

См. Также C # - Что делает метод Assert ()? Это все еще полезно? и http://en.csharp -online.net / Assert .

0 голосов
/ 03 декабря 2008

В целях тестирования вы, вероятно, захотите создать определенный класс (может быть, TestFailedException?) И выбросить его, а не перехватывать другой тип исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...