NetBeans运行带有编译时错误的Java程序

时间:2016-04-06 17:38:57

标签: java netbeans compiler-errors jit

由于else子句中的错误,以下Java程序无法编译。

public class Temp1 {
public static void main(String[] args) {
    if (args.length == 0)
    {
        System.out.println("PASS");
    }
    else{
        COMPILEERROR
    }
}

}

然而,当在NetBeans中运行时,在收到错误通知并单击" Run Anyway"程序运行并输出" PASS"。当条件失败时(当args> 0时),程序抛出RuntimeException:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - not a statement

NetNeans如何运行无法编译的代码?它是运行解释器/ JIT编译器还是那样的?

这是一个新功能,因为我过去不记得它吗?

1 个答案:

答案 0 :(得分:3)

作为@ElliottFrisch评论说,NetBeans删除了无法访问/不可编译的代码并用throw替换它

以下是反编译代码:

/*
 * Decompiled with CFR 0_114.
 */
package temp1;

import java.io.PrintStream;

public class Temp1 {
    public static void main(String[] args) {
        if (args.length != 0) {
            throw new RuntimeException("Uncompilable source code - not a statement");
        }
        System.out.println("PASS");
    }
}