欢迎!请参阅 关于 页面以了解更多该系统的信息。
由 alexmiller 发表的评论
为什么 "(. clojure.lang.PersistentArrayMap EMPTY)"?为什么不用{}呢?
由 lgs32a 发表的评论
我一直认为没有一参数是出于刻意设计,以便用户使用映射参数。你为什么想抛出没有数据的 ExceptionInfos?
由 killme2008 发表的评论
@Alex 我忘了为什么在这里使用 EMPTY 地图,可能受到了以下代码的影响https://github.com/clojure/clojure/blob/7aad2f7dbb3a66019e5cef3726d52d721e9c60df/src/clj/clojure/core.clj#L4336
@Leon 例如,当参数错误时抛出异常
(when-not (integer? c)(throw (ex-info "Expect number for c."))
这里不需要数据。
评论者:bronsa
那么为什么不直接抛出 (Exception. "expect number for c") 呢?我觉得抛出 ex-info 没有数据与直接抛出 Exception 没有增加的价值
(Exception. "expect number for c")
事实上,这仅仅是一个技术决策,我们选择了使用 ex-info 抛出异常。
评论者:duke
这将是从 cljc 文件抛出简单异常的好方法,它在 clj 和 cljs 中都有效。