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

欢迎!请参阅关于页面以了解更多关于如何工作的信息。

+1 投票
ClojureScript

ClojureScript中的许多错误消息包含如此类的不合法参数

(throw (js/Error. (str "Doesn't support name: " x)))

如果{{x}}为nil,则生成的错误消息是{{"Doesn't support name: "}},这会对调试造成一定的困惑。如果{{x}}被{{pr-str}}包裹,则错误消息会是更容易理解的:{{"Doesn't support name: nil"}}。

如果您对这个问题感兴趣,我可以准备一个补丁,将这类错误用pr-str包裹。

10 个答案

0 投票

由dnolen发表的评论

没问题

0 投票

由mfikes发表的评论

我在CLJS-2089上也考虑了这一点。在一般情况下,这似乎是正确的做法。

0 投票

由mfikes发表的评论

补丁不再适用。

0 投票

评论由:slipset 提供

现在应该可以应用了,我希望如此

0 投票

由mfikes发表的评论

0001-CLJS-1908-Wrap-vars-in-throw-message-with-pr-str.patch 不再适用

0 投票

评论由:slipset 提供

0001-CLJS-1908-Wrap-vars-in-throw-message-with-pr-str-2.patch 已更新,应该适用

0 投票

由mfikes发表的评论

0001-CLJS-1908-Wrap-vars-in-throw-message-with-pr-str-2.patch LGTM

0 投票

由mfikes发表的评论

0001-CLJS-1908-Wrap-vars-in-throw-message-with-pr-str-2.patch 通过 CI 和 Canary (/)

0 投票

由mfikes发表的评论

0001-CLJS-1908-Wrap-vars-in-throw-message-with-pr-str-2.patch 已添加到修补方案提交(i)

0 投票
参考:[https://clojure.atlassian.net/browse/CLJS-1908](https://clojure.atlassian.net/browse/CLJS-1908)(由 [email protected] 报告)
...