А может кто-нибудь описать в двух словах, что в Common Lisp с эксепшенами придумали?
Придумали систему condition'ов, которые значительно гибче, чем exception'ы и используются не только для исключительных ситуаций, но и для обработки чего-то, что низкоуровневый код не знает, а может знать код выше по уровню. Вот здесь можно ознакомиться подробней: http://www.gigamonkeys.com/book/beyond-exception-handling-conditions-and-restarts.html.