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 已添加到Patch Tender (i)

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