w poniższym kodzie, Clojure (1,2) drukuje złą wiadomość:Clojure nie łapania NumberFormatException
(try
(let [value "1,a"]
(map #(Integer/parseInt %) (.split value ",")))
(catch NumberFormatException _ (println "illegal argument")))
ten powinien wydrukować „nielegalne argument”, ale zamiast tego drukuje (1#<NumberFormatException java.lang.NumberFormatException: For input string: "a">
.
Co robię źle?
Czy to z powodu leniwej sekwencji zwróconej przez map
? Jak to powinno być napisane?
Powinieneś znaleźć pomocne: http://groups.google.com/group/clojure/msg/f4ea5a9c38f4d991 – MayDaniel