2024 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于 页面,了解此功能的工作原理。

0 投票
ClojureScript

在处理 CLJS-1722 的过程中,我发现了 pr-writer-ex-info 中的两个问题

1) 如果数据或原因碰巧是 "false",则它们将跳过打印
2) 代码试图模仿映射打印器

此补丁解决了这两个问题。结果是,打印实际信息映射输出的是相同的字符串,并且与 cljs-devtools 打印器(它现在看到的是实际的映射而不是字符串和值的汤)配合得更好。

参考:pr-writer-ex-info 是在 CLJS-983 中实现的

3 个答案

0 投票

评论者:dnolen

你能解释一下为什么你认为 1 是一个问题吗?数据应该是一个映射器。原因应该是一个错误,但如果你有一个重新抛出(它包装了一些可抛值),这可能是一个问题。

0 投票

评论者:darwin

免责声明:我在 Clojure 和 Java 方面几乎没有经验。

仅仅通过阅读代码,我没有在 ex-info(或在 ExceptionInfo 构造函数)中看到任何限制数据或原因的检查。因此,我假设可以传递任何内容,打印机应该像这样直接打印它而不需要额外逻辑。我假设在实现 CLJS-983 时,检查 nil 值是一种故意的简略。我还假设 false 值应该被打印出来。至少从我个人来说,我希望它能与 nil 区分开。或者根本不应有任何简略处理。

0 投票
by
参考:https://clojure.atlassian.net/browse/CLJS-1723(由 darwin 报告)
...