【发布时间】:2015-02-28 19:29:45
【问题描述】:
当我戴上 C 帽时,我想也许惯用的 Clojure 只是做简单的事情并检查返回值。
当我戴上 Java 帽子时(我很不情愿地,我必须补充一下),我对自己想,既然 Clojure 在 JVM 上运行,自然的方式必须是使用 JVM 异常。
当我戴上函数式帽子时,我在想一定有某种单子构造或线程宏可以以可组合的方式处理错误。
那么在 Clojure 程序中处理错误的惯用方法是什么?
【问题讨论】:
-
人们几乎觉得 Either monad 属于核心 Clojure。简单地抛出一个我认为很典型的异常,感觉就像是在回归到命令式的做事方式。
标签: exception error-handling clojure maybe either