I took 6.170 (software engineering aka small group projects) and 6.035 (build a compiler), both in CLU, at MIT in the 80s.  I was a Lisp guy so I didn&#x27;t want to like CLU, but I remember thinking the exception handling was a win - you declared the exceptions thrown so that the compiler could check that you were handling all the thrown exceptions.  Lisp had nothing like this since everything was dynamic and with C it was given that real men did not check return values for errors.  I was glad to see them resurface as checked exceptions in Java.