欢迎!请查看 关于 页面,了解更多关于如何使用本网站的信息。
在处理 CLJS-1722 时,我发现 pr-writer-ex-info 存在两个问题
1) 如果数据或原因碰巧是 "false",它们在打印时会被跳过2) 代码尝试模仿地图打印机
这个补丁解决了这两个问题。结果证明打印真实信息地图会产生完全相同的字符串输出,并与 cljs-devtools 打印机(它现在看到的是真实地图而不是字符串和值的杂烩)更好地配合。
参考资料:pr-writer-ex-info 是在 CLJS-983 中实现的
评论由:dnolen 撰写
你能解释为什么你认为 1 是一个问题吗?数据应该是一个映射。原因应该是错误,但我推测,如果有一个重新抛出,它封装了某些可抛值(当然,这可能是一切),这可能是个问题。
评论由:darwin 撰写
免责声明:我几乎没有 Clojure 的经验,Java 也几乎没有。
仅通过阅读代码,我没有看到在 ex-info(或在 ExceptionInfo 构造函数)中任何检查以限制数据或原因。所以我假设任何事情都可以传递,并且打印机应该直接打印它,而不需要额外的逻辑。我假设 CLJS-983 实现 时检查 nil 值是故意的缩写。我还假设 false 值应该被打印。至少我个人希望它与 nil 有所区别。或者根本不应该有任何缩写。