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

欢迎!请参阅 关于 页面以了解该功能的更多信息。

0
ClojureScript

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

1) 如果数据或原因恰好是 "false",则会在打印时被跳过。
2) 代码试图模仿 map 打印器。

这个补丁修复了这两个问题。结果证明,打印真实信息映射会产生完全相同的字符串输出,并且与 cljs-devtools 打印器(它现在看到的是真实的映射而不是字符串和值的混合)配合得更好。

参考资料:pr-writer-ex-info 在 CLJS-983 中实现。

3 答案

0

发表评论者:dnolen

你能解释为什么你认为 1 是一个问题吗?数据应该是映射。原因应该是错误,但我猜想,如果您有一个重新抛出操作,它封装了一些可以抛出的值(这当然可以是任何东西),那可能就麻烦了。

0

发表评论者:darwin

免责声明:我几乎没有 Clojure 的经验,而 Java 几乎没有。

仅仅通过阅读代码,我没有在 ex-info(或在 ExceptionInfo 构造函数)中看到任何限制数据或原因的检查。因此,我假设任何内容都可以传入,并且打印机应按原样打印它们,而不需要额外的逻辑。我假设对 nil 值的检查是 CLJS-983 实现时的有意省略。我还假设应当按照预期的值打印 false。至少我个人会想要它与前者的 nil 区分开来。或者可以完全不进行省略。

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