Я недавно начал записывать утверждения в свой код, но обнаружил, что и с Debug.Assert
, и с Trace.Assert
выполнение продолжается, если условие не выполняется. Есть ли встроенный эквивалент, который будет выдавать исключение, если условие не выполняется? Или я должен написать свой собственный? Я хочу создать исключение, чтобы я не продолжал писать что-то, что находится в неожиданном состоянии.
РЕДАКТИРОВАТЬ: у меня есть код, похожий на то, что ниже. Это в запросе PUT, поэтому я хочу обновить существующий ресурс (в идеале идентифицируемый по Id, но также по GUID в случае частичного сохранения ранее). При сохранении нового ресурса я хочу убедиться, что указан GUID.
public int Save(Guid? personGuid, Person person)
{
if (person.Id > 0)
{
Update(person);
}
Trace.Assert(personGuid.HasValue);
SaveToDb(personGuid, person);
}
Примечание: опция Define TRACE constant
отмечена.