欢迎!请访问 关于 页面了解更多关于这个平台的信息。
评论人:alexmiller
为什么 "(. clojure.lang.PersistentArrayMap EMPTY)"?为什么不只是 {}?
评论人:lgs32a
我一直认为缺失单参数是为了让用户使用映射参数的设计,为什么要抛出不带数据的数据异常呢?
评论人:killme2008
@Alex 我忘了为什么在这里用 EMPTY 映射,可能受这段代码影响:https://github.com/clojure/clojure/blob/7aad2f7dbb3a66019e5cef3726d52d721e9c60df/src/clj/clojure/core.clj#L4336
@Leon 例如,当参数错误时抛出异常
当不是整数时((抛出 (ex-info "期望c为数字。"))
此处不需要数据。
评论者:bronsa
那么为什么不直接抛出一个 (Exception. "期望c为数字") 呢?我不认为抛出没有数据的ex-info比直接抛出异常有更大的价值
(Exception. "期望c为数字")
的确,这仅仅是一个技术决策,我们选择使用ex-info来抛出异常。
评论者:duke
这是一个从cljc文件中抛出简单异常的好方法,这在clj和cljs中都可以使用。