【发布时间】:2016-09-09 20:17:48
【问题描述】:
我想包装系统或用户抛出的异常(没关系)并强制它返回一些值。
我为它写了宏,但它不起作用。
宏:
(defmacro safe-fn
[form]
(try
`(do ~form)
(catch Throwable e
1)))
用法:(safe-fn (throw (RuntimeException. "Try me!")))
实际输出:RuntimeException Try me! clojure-brave-and-true.core/eval2219 (form-init6122238559239237921.clj:1)
所需输出:1
【问题讨论】:
标签: clojure functional-programming macros lisp