> An occasional exception and silent corruption the rest of the time is still a lot better than silent corruption all the time
The fundamental problem still remains, that in neither case can I use the language's semantics to guide the design of my program.
> and as long as you have one instance of the exception you have a stack trace to start from
Oh, really? How am I supposed to find what the problem is in the general case, from just a single exception stack trace that I might or might not get?