На прошлой неделе я посетил devday11 в Нидерландах и узнал о Code Contract. Я думаю над внедрением Code Contract, но мне все еще неясно следующее. Как мне обрабатывать нарушения контракта кода времени выполнения в моем приложении?
Например, у меня есть слой в моем приложении, который вызывает другой слой с нулевым значением. Вызванная функция имела обязательный контакт, поэтому она выдает ошибку проверки контракта. Как с этим справиться? Итак, что-то вроде этого
public string GetOrderSomething(OrderModel order)
{
Contract.Requires(order != null);
// jibidi jibeda do something
}
//other application layer
private void something()
{
Class.GetOrderSomething(null);
}
То, что должно быть сделано? Должен ли я обрабатывать это с помощью обычного try catch, должен ли я вообще не обрабатывать его? Есть ли что-то «особенное», что я должен сделать?