Search code examples
exceptionlanguage-featurestheorylanguage-design

Who invented the throw/try/catch[/finally] kind of error handling?


My questions are more of historical nature than practical:

  1. Who invented it?
  2. Which language used it first (and to what extent)?
  3. What was the original idea, the underlying concept (which actual problems had to be solved these days, papers welcome) ?
  4. Is LISPs condition system the ancestor of current exception handling?

Solution

  • Today's Common Lisp condition system is a relative newcomer. The design was based on previous systems, but wasn't included as part of the Common Lisp language until the late 80's around the time of CLTL2

    I believe the conditions chapter in that book has a fair amount commentary on the history and background of the design, and references to related research and prior implementations of similar systems.