Clojure:如何忽略可能从表达式抛出的异常?

时间:2013-03-30 06:06:32

标签: clojure

我使用(try (/ 1 0) (catch Exception e))但似乎多余。有更简单的方法吗? 我使用它的一个例子就是sql/drop-table。如果该调用因为表不存在而失败并不重要。

1 个答案:

答案 0 :(得分:6)

如何写这样的宏:

(defmacro swallow-exceptions [& body]
    `(try ~@body (catch Exception e#)))

(swallow-exceptions (/ 1 0)) ; nil

更复杂的例子是in this post