При сбое контракта программа не «вылетает», а выдается исключение. Класс Contracts позволяет вам контролировать тип исключения.
Так что вам нужна какая-то форма обработки исключений, а не только для контрактов.
Сказав это, недействительный контракт, как правило, достаточно серьезен, чтобы прекратить заявку.