用于报告和处理clojure代码中的错误的JVM异常的替代方法是什么?

bmi*_*are 5 error-handling reporting exception-handling clojure conditional-statements

背景

"欢乐的Clojure"一书解释了JVM例外如何是一个封闭的系统,并表明可能有更好的替代方法来报告和处理clojure中的错误.根据我的经验,常见的lisp条件系统似乎是理想的,但是,我并没有限制这个范例的答案.根据我的研究,有条件(Gilardi)http://clojure.github.com/clojure-contrib/condition-api.html,error-kit(Chouser)http://richhickey.github.com/clojure- contrib/error-kit-api.html和handler(Weiss)https://gist.github.com/745223,但是在这些实现中似乎没有明显的赢家,我觉得有关主题的更多信息会很有用.

如何在项目中成功使用现有替代品?我正在寻找模仿的例子.

这些替代系统如何克服JVM异常系统的限制?

未来的方向是什么,或者什么是实验性替代方案,它们需要什么?

Ale*_*ler 2

仅供参考,这正在 clojure-dev 中讨论。在这里收集想法并在这里讨论。