У меня исключение sql из clojure, которое выглядит так:
java.lang.Exception: transaction rolled back:
Batch entry 0 drop database triface was aborted.
Call getNextException to see the cause.
Я хочу вызвать getNextException для полученного исключения:
(require [clojure.contrib.sql :as sql])
(try
(db/rebuild-table) ;; function causing the exception
(catch Exception e (.getNextException e)))
Но тогда я получаю это:
java.lang.IllegalArgumentException: No matching field found:
getNextException for class java.lang.Exception
Итак, я предполагаю, что хочу поймать исключение SQLE:
(catch SQLException e (.getNextException e)))
Кроме того, я не могу найти, как требовать этот класс. Кажется, он не предоставляется ни clojure.contrib.sql, ни clojure.contrib.sql.internal. Javadocs говорят, что это в java.sql, но как мне это требуется?
Спасибо!