> If you're throwing recoverable exceptions in your debug code, make them > derived from Exception, not Error. Contracts aren't supposed to throw Exceptions as you can't rely on them for program flow.