如何在Clojure中发出警告?
具体来说,我有一种情况,我想在运行测试或尝试部署程序时评估特定的函数调用以引发错误,但我确实希望能够成功地进行调用(理想情况下)在REPL运行时显示消息。 (此处的Common Lisp解决方案为warn
)。
是否有可以让我这样做的设施?
答案 0 :(得分:3)
Clojure中没有任何这样的概念。你必须自己实现它。根据您的具体情况,您可以通过多种方式尝试实施它。
最简单的可能是定义一个动态var *strict?*
,并将其设置为true,但是当你处于repl时则为false。然后,定义一个函数(warn msg)
,它检查var并使用该消息抛出异常或将其作为警告打印出来。