在以下代码中,Clojure(1.2)打印了错误的消息:
这应该打印出“非法参数”,但实际上它打印了一个
我做错了什么?
这是因为
(try
(let [value "1,a"]
(map #(Integer/parseInt %) (.split value ",")))
(catch NumberFormatException _ (println "illegal argument")))
这应该打印出“非法参数”,但实际上它打印了一个
(1#<NumberFormatException java.lang.NumberFormatException: For input string: "a">
。我做错了什么?
这是因为
map
返回的惰性序列吗?应该如何编写呢?