gpt4 book ai didi

java - Eclipse 中的错误? org.eclipse.jdt.internal.compiler.lookup.ArrayBinding 无法转换为 org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding

转载 作者:行者123 更新时间:2023-11-30 06:19:17 24 4
gpt4 key购买 nike

以下明显不正确的代码(受 @dexter's answer to a question of mine 启发):

Class<? extends Exception>[] exceptions;

try {
// some stuff here
} catch (exceptions[0] e) {
// some more stuff here
}

导致Eclipse频繁弹出标题为“发生问题”的对话框,提示如下:

'Building workspace' has encountered a problem.
Errors occurred during the build.

该对话框提供以下“详细信息”:

Errors occurred during the build.
Errors running builder 'Java Builder' on project 'test'.
org.eclipse.jdt.internal.compiler.lookup.ArrayBinding cannot be cast to
org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding

Eclipse 确实在 exceptions[0] 下放置了红色波浪线,但如果我将鼠标悬停在它们上面,它没有任何与之相关的错误。相反,它还在边距的最顶部放置一个红色 (x) 并在文件中第一行的第一个字母(package 中的 p ...) 如果我将鼠标悬停在上面,我会得到:

Internal compiler error: java.lang.ClassCastException:
org.eclipse.jdt.internal.compiler.lookup.ArrayBinding cannot be cast to
org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding at
org.eclipse.jdt.internal.compiler.ast.TryStatement.verifyDuplicationAndOrder
(TryStatement.java:1191)

这是 Eclipse 中的错误吗?如果是这样,报告它的最佳位置是什么?

此外(为了使这个问题对遇到相同问题的人有用),如果这种构建错误深埋在代码中的某处,是否有一种很好的方法来定位这种构建错误的来源?我从错误消息中获得的唯一信息是对话框详细信息中的项目名称,如果项目存在许多其他问题(例如接管他人的工作),这可能不会有太大帮助。是否有其他地方可以找到有关此错误的确切位置的更多信息,例如至少一个文件名?

最佳答案

这是一个技巧:

在我的案例中,错误在一个文件 user.java

上标记为 X

所以我打开文件,突出显示所有内容并剪切,然后保存,这样 X 就消失了。

然后我把它粘贴回去。

关于java - Eclipse 中的错误? org.eclipse.jdt.internal.compiler.lookup.ArrayBinding 无法转换为 org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23393657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com