Condition Handling for Non-Lispers
cls (via Hacker News):
The possibility of an exception means that we have to manually build the list, because the recovery mechanism (aborting the
try
block) and the error handling mechanism (theexcept
block) are tightly bound. Our clumsy exception handling system is actually stopping us from building the abstraction that deals with parsing an entire log. And as programming is essentially the art of abstraction, this is something a language should never ever do.
Conditions are an elegant solution.