I've started reading up on code contracts in c# but despite all the explanations of preconditions and postconditions they fail to mention what they actually DO.
Are they checks or constraints that, if failed during runtime, throw an exception?
Are they checks for design time that raise warnings or errors if their conditions are not satisfied?