Рассмотрим код ниже:
#if DEBUG
if (Systems.Contains(system))
throw new InvalidOperationException("System already registered");
#endif
Debug.Assert(!Systems.Contains(system), "System already registered");
Раньше я делал первое, с тех пор я обнаружил Debug.Assert
.
Есть ли причина, по которой мне не следует всегда отдавать предпочтение Debug.Assert
?
- Он существует только в отладочном коде (имеет атрибут
[Conditional("DEBUG")]
). - Мне кажется, что это больше подходит для моего намерения (проверки работоспособности кода, а не создание исключений, которые будут обработаны позже).
- Это меньше кода для написания.