如何在 Clojure 中发出警告

How to raise a warning in Clojure

如何在 Clojure 中发出警告?

具体来说,我有这样一种情况,我想在 运行 测试或尝试部署程序时评估特定函数调用以引发错误,但我确实希望能够在 REPL 运行 时成功调用(最好显示一条消息)。 (Common Lisp solution here would be warn).

是否有可用的设施让我这样做?

Clojure 中并没有这样的概念。您必须自己实施。有多种方法可以尝试实现它,具体取决于您的情况。

也许最简单的方法是定义一个动态变量 *strict?*,并在正常情况下将其设置为 true,但在 repl 中将其设置为 false。然后,定义一个函数 (warn msg) 来检查 var 并在该消息中抛出异常或将其打印为警告。