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

时间:2010-12-23 21:01:28

标签: exception-handling error-handling clojure reporting conditional-statements

背景

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

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

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

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

2 个答案:

答案 0 :(得分:2)

仅供参考,这是在clojure-dev中讨论的。收集here和帖子here的想法。

答案 1 :(得分:0)

自从提出问题以来已经过去了很多年,但是我认为这个话题仍然有意义。我一直在研究Promenade(请参阅documentation),该错误可以将错误表示为数据并提供优雅的错误处理和控制流程。还有其他一些项目(在Promenade README中提到)试图解决同一问题。