欢迎!请访问关于页面了解此功能的更多信息。
评论人:alexmiller
为什么是 "(. clojure.lang.PersistentArrayMap EMPTY)"?为什么不是 just {}?
评论人:lgs32a
我总认为缺少一个一元劣度为故意设计,以使用户使用映射参数。你为什么想要抛出不包含数据的异常?
评论人:killme2008
@Alex 我忘了为什么在这里使用 EMPTY 映射,可能受此代码的影响https://github.com/clojure/clojure/blob/7aad2f7dbb3a66019e5cef3726d52d721e9c60df/src/clj/clojure/core.clj#L4336
@Leon 例如,在参数错误时抛出异常。
(当不为整数c时)(抛出(ex-info "期望c为数字。")))
这里不需要数据。
评论者:bronsa
那么为什么不直接抛出(Exception. "期望c为数字")呢?我认为在无数据的情况下抛出ex-info并没有抛出Exception增加任何价值。
(Exception. "期望c为数字")
确实,这只是我们决定使用ex-info来抛出异常的技术选择。
评论者:duke
这将是从一个cljc文件中抛出简单异常的好方法,这个方法在clj和cljs中都能工作。