作者:zdl | 来源:互联网 | 2023-05-28 17:23
当我戴上我的C帽时,我认为也许惯用的Clojure只做简单的事情并检查返回值.
当我戴上我的Java帽子时(不情愿地,我必须添加),我想我自己,因为Clojure在JVM上运行,自然的方式必须是使用JVM异常.
当我戴上我的功能帽时,我认为必须有某种monadic构造或线程宏可以以可组合的方式处理错误.
那么在Clojure程序中处理错误的惯用方法是什么?
1> Symfrog..:
Clojure错误处理通常是面向JVM异常(未经检查)的.
Slingshot通过允许例如对抛出的异常值进行解构来使异常更令人愉快.
对于允许erlang风格的错误处理的替代方案,你应该看看可怕.这篇博客文章很好地概述了可怕的理性以及Clojure错误处理机制和缺点的概述.