On Fri, 2009-03-27 at 20:38 +0300, Gregory Petrosyan wrote: > On Fri, Mar 27, 2009 at 7:31 PM, Donn Cave <d...@avvanta.com> wrote: > > Quoth John Lato <jwl...@gmail.com>, > > > >> An exception is caused by some sort of interaction with the run-time > >> system (frequently a hardware issue). The programmer typically can't > >> check for these in advance, but can only attempt to recover after > >> they've happened. > >> > >> An error is some sort of bug that should be fixed by the programmer. > > > > I have never felt that I really understood that one. > > Me too :-) > > BTW, John, how often do you encounter _hardware_ issues compared to "errors"?
Can't speak for anyone else, but I usually encounter hardware issues just before I replace the hardware... > Is an "out of memory" thing an error or exception? > You will say "exception, for sure", wouldn't you? :-) No. GHC possesses an out-of-memory exception that (IIRC) it never throws, because it's simply not worth trying to recover from heap exhaustion. Maybe 20 years ago it was, but these days a program that manages to exhaust space is almost certainly either buggy or poorly optimized. An `error' is any condition where the correct response is for the programmer to change the source code :) > And if it is a > result of applying > known-to-be-very-memory-hungry algorithms to non-trivial input? Looks like > programmer's error, doesn't it? See above. > And I think I can provide lots of similar examples. > > If there exists separation between errors and exceptions, it should be > very strong > and evident — otherwise "casual programmers" like myself will need to > stare at the > ceiling every time they write something to decide what suits best. Protip: try pacing instead of staring at the ceiling. jcc _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe