dm3 / clojure.java-time

Java 8 Date-Time API for Clojure
MIT License
467 stars 47 forks source link

Catchable exceptions #109

Open devurandom opened 5 months ago

devurandom commented 5 months ago

When conversion fails, java-time.api wraps the java.time.format.DateTimeParseException in clojure.lang.ExceptionInfo, which I cannot distinguish from any other exception when trying to catch:

(import '(java.time.format DateTimeParseException))

(try
  (t/zoned-date-time "2024-04-08T00:00:00")
  (catch DateTimeParseException _
    (println "CAUGHT")))

java.time.format.DateTimeParseException: Text '2024-04-08T00:00:00' could not be parsed at index 19
             clojure.lang.ExceptionInfo: Conversion failed

It would be convenient if java-time.api would throw with some form of :type key in the map that I could catch with e.g. https://github.com/gfredericks/catch-data.