Exception handling 在clojure代码中报告和处理错误的JVM异常有哪些替代方案?

Exception handling 在clojure代码中报告和处理错误的JVM异常有哪些替代方案?,exception-handling,error-handling,clojure,reporting,conditional-statements,Exception Handling,Error Handling,Clojure,Reporting,Conditional Statements,背景 《Clojure的乐趣》一书解释了JVM异常是如何成为一个封闭系统的,并建议在Clojure中报告和处理错误可能有更好的替代方案。根据我的经验,公共lisp条件系统似乎是理想的,但是,我并不局限于这个范例的答案。根据我的研究,有条件(Gilardi)、错误工具包(Chouser)和处理程序(Weiss),但在这些实现中似乎并没有明显的赢家,我觉得关于这个主题的更多信息将是有用的 现有的备选方案是如何在项目中成功使用的?我正在寻找可以效仿的例子 这些替代系统如何克服JVM异常系统的限制 未来

背景

《Clojure的乐趣》一书解释了JVM异常是如何成为一个封闭系统的,并建议在Clojure中报告和处理错误可能有更好的替代方案。根据我的经验,公共lisp条件系统似乎是理想的,但是,我并不局限于这个范例的答案。根据我的研究,有条件(Gilardi)、错误工具包(Chouser)和处理程序(Weiss),但在这些实现中似乎并没有明显的赢家,我觉得关于这个主题的更多信息将是有用的

现有的备选方案是如何在项目中成功使用的?我正在寻找可以效仿的例子

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


未来的发展方向是什么,未来的实验性替代方案是什么,以及它们需要什么?

仅供参考,clojure-dev.创意收集和线程中正在讨论这一点。

自提出这个问题以来,很多年过去了,但我认为这个主题仍然相关。我一直在研究(请参阅),它可以将错误表示为数据,并提供优雅的错误处理和控制流。还有其他项目(在Promenade自述中提到)试图解决同样的问题。

请参阅和当前关于主题的讨论:谢谢,讨论完成后,我将尝试综合讨论结果。