Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

C# - где используется класс Debug?

28.11.22 08:36
Re: C# - где используется класс Debug?
 
Программист коренной житель
в ответ alex445 27.11.22 21:19

Все зависит от юз-кейсов.


Debug.Assert удобно использовать для того, чтобы поймать какую-то нестандартную ситуацию.

Самый простой пример - если у тебя есть входной параметр, который должен быть не null, то можно конечно сделать так:

public void DoSomething (IFoo foo)
{
   if (foo != null)
   {
      ...
   }
   else
   {
      throw new SomeException ("Foo can't be null");
   }
}


Это вполне понятное решение.

А можно заменить всю эту конструкцию на Debug.Assert. Тогда в Debug-моде будет брошено исключение и исполнение остановится на этой строке (как если бы там была точка останова с условием), так что у разработчика будет возможность отладить код. При этом в релиз сборке ничего не произойдет и, очевидно, при исполнении кода будет брошено NullReferenceException.


Кроме этого, в Debug есть вывод отладочной ипформации в окно. Что тоже очень удобно. Я например часто использую эту фишку для перенаправки вывода в юнит-тестах. Т.е. делаю свой класс, который выводит ошибки в окошко, подменяют логгер и получается, что я могу видеть все логи во время отладки юнит-тестов. Очень удобно :)

 

Перейти на