En el siguiente código, Clojure (1.2) está imprimiendo el mensaje equivocado:Clojure no captura NumberFormatException
(try
(let [value "1,a"]
(map #(Integer/parseInt %) (.split value ",")))
(catch NumberFormatException _ (println "illegal argument")))
Esto debería imprimir "argumento incorrecto", pero en su lugar se imprime una (1#<NumberFormatException java.lang.NumberFormatException: For input string: "a">
.
¿Qué estoy haciendo mal?
¿Esto se debe a la secuencia diferida devuelta por map
? ¿Cómo debería escribirse?
Debería encontrar esto útil: http://groups.google.com/group/clojure/msg/f4ea5a9c38f4d991 – MayDaniel