Рассмотрим код ниже:
#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")]
). - Мне кажется, он больше подходит для моего намерения (проверка работоспособности кодавместо того, чтобы вызывать исключения, которые будут обрабатываться позже).
- Это меньше кода для записи.