Netbeans IDE Dev 201802140002中的错误?

时间:2018-03-06 19:56:22

标签: java netbeans ide netbeans-platform

以下是预计会产生错误的代码:

public class App {

    public static void main (String[] args) {
        tick();
    }

    public static void tick () {
        System.out.print("hi");

请注意,方法tick()和类App的关闭斜角括号缺失。尽管IDE在编写代码时会指示此错误,但这会编译并运行得很好。它看起来不像Java(或我的操作系统)的问题,因为在命令行中执行javac肯定会失败。

什么甚至更有趣......以下代码在成功执行tick()后抛出运行时异常:

public class App {

    public static void main (String[] args) {
        tick();

    public static void tick () {
        System.out.print("hello..");

此处我也跳过main的结束括号。

我已经安装了支持Java 9的Netbeans开发版本。

2 个答案:

答案 0 :(得分:0)

[这是一个评论而非答案,但我希望包括屏幕截图,以表明我无法重现这两个问题。]

一个有趣的问题。我刚刚下载了最新的每晚构建版本(NetBeans Dev 201803060002)并使用Oracle JDK 9.04构建了代码。

您的代码示例都不会为我编译。对于第一个示例,最后一行的错误是“在解析System.out.print(”hi“); ”时到达文件末尾。这是一个屏幕截图:

reachedEOF

对于第二个示例,您删除了main()的关闭bracker,报告的其他错误是“非法启动表达式public static void tick(){”:

reachedEOF2

我建议你尝试以下方法:

  • 创建一个新项目和新类“App2”,看看是否可以使用相同版本的NetBeans复制该问题。
  • 如果你不能再查看App compiles和App2没有的原因。
  • 如果你可以复制问题,那么下载最近的每晚构建,看看你是否仍然可以复制问题(即无效的源代码编译干净)。如果你不能,那么我认为不值得提出错误报告或在这个问题上花更多时间。
  • 但是,如果您可以复制问题,那么一定要提出错误报告。但我强烈建议在执行此操作之前能够复制失败。否则,如果NetBeans团队无法复制问题,您可能会收到WORKSFORME响应。

还有一件事:使用针对该RuntimeException的堆栈跟踪更新您的OP会很有帮助,您还应该将其包含在错误报告中。

答案 1 :(得分:0)

啊......我现在明白了。在某些时候,我检查了"总是在没有询问的情况下运行"复选框,从那时起我的IDE忽略了所有编译时错误而没有任何警告。

enter image description here

对不起伙计......我的坏人。