[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New Lisp ?



* Rob Warnock
| In particular, allowing some [presumably infrequent] non-error code
| paths to be considered "exceptional" [and using inconspicuous flow
| control primitives to access them, such as CATCH/THROW] can, in turn,
| allow the "normal" code paths to be considerably simplified without
| compromising program correctness.

  I have always thought of "exceptions" to refer to exceptions from the
  expected control flow.  That is, if I am prepared to handle something, it
  obviously goes in the normal control flow, but if I have no idea what do
  with a particular situation that I know could arise, use an exception.
  E.g., in a low-level I/O function, reaching the end of file or a full
  disk or whatever is to be expected, but code that reads or writes known
  objects from or to a stream should not have to expect such things and
  should be able to throw up it hands and ask an exception handler to take
  over, perhaps recovering and continuing.

///
--