On 2013-07-10, at 13:32, Tudor Girba <tu...@tudorgirba.com> wrote: > Precisely. There is a huge difference between invalidating a known contract > (i.e., failure) and raising an unexpected error (i.e., error).
In which sense? As a programmer I have to tackle them both the same way: start debugging. I really do not see the difference. In both cases the code does not behave as expected. One might even say that there is a global contract that the code does not raise exceptions. Tackling the failures first is purely a habit induced by the existing system that errors are worse than failures