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

欢迎!请参阅关于 页面了解这个网站的工作方式。

+1
类别 错误 作者
重新标记 作者

如果我用错误的参数数量调用一个方法,我会得到一个简洁且描述性的错误信息
(^[] String/toUpperCase "foo" 2) 语法错误... 在类 java.lang.String 中调用方法 toUpperCase 预期 0 个参数,但接收到 1 个

如果我用错误的参数数量调用构造函数,我会得到一个非常类似的消息
(^[String] String/new "foo" 2) 语法错误... 在类 java.lang.String 中调用方法 java.lang.String 预期 1 个参数,但接收到 2 个

这条信息将类名作为方法引用,这感觉像是构造函数的错误信息。

我发现,如果我的构造函数的参数标签不正确,错误信息的措辞会略有不同(“期望找到与constructor相匹配的 1 个签名”而不是“与method相匹配”),所以我想趁着这些信息还记忆犹新时提出这个问题:参数数量错误信息的措辞是否应该提及“constructor”或“String/new”之类的词汇?

1 个答案

+1
by
已选中 by
 
最佳回答

是的,看起来这个缺少构造器特定的措词,我会看一下,谢谢。

by
是的,这只是一个简单的bug,我们将在未来的Alpha版本中修复它。已在 https://clojure.atlassian.net/browse/CLJ-2835 记录
...