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

欢迎!请参阅关于页面了解有关如何使用本站的更多信息。

+1 投票
错误
重标记

如果我调用一个方法时参数数量错误,我会收到一个简洁、描述性的错误消息
(^[] String/toUpperCase "foo" 2) 语法错误... 类 java.lang.String 中 toUpperCase 方法的调用期望 0 个参数,但实际上收到 1 个

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

此消息指明了类名作为方法,这感觉像是对构造函数的错误消息。

我注意到如果我的构造函数的参数标签不正确,错误信息的措辞略有不同("期望找到 1 个与 构造函数 匹配的签名" 而不是 "与方法 方法 相匹配"),因此我想趁这些信息还比较清晰的时候提问:对于参数数量的错误消息,措辞应该提到‘构造函数’或者‘String/new’或是类似的东西吗?

1 答案

+1 投票
by
selected by
 
最佳答案

是的,这似乎缺少了特定构造函数的文本,我将检查它,谢谢。

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