是否可以跳过 Java 编译错误?
因此,即使遇到错误,程序也可以继续运行。
所以它会尽最大努力继续工作(直到一切爆炸)
不,如果你得到编译错误,这意味着你的程序不是有效的 Java。它继续下去意味着什么?它还没有运行。
如果您有编译错误,则程序无法编译为运行时代码。这实际上意味着该程序无法运行。
所以,答案是否定的,它不能。
还有另一种类型的错误 -运行时错误。这些是由于代码中的错误逻辑(即试图修改空对象)而发生的。编译器无法发现这些错误,因为这些错误非常微妙,取决于数据(大部分时间取决于用户输入)。您可以使用try-catch块跳过那些。如果您想阅读更多内容,请参阅这篇文章:
http://docs.oracle.com/javase/tutorial/essential/exceptions/try.html
是的,您可以使用 eclipse 编译器来做到这一点。它将用调用时直接抛出异常的方法替换包含错误的方法。
这将允许您运行程序的其余部分。不过我不推荐它,因为你会得到一个不一致的程序。所以使用风险自负。
它仍然可能派上用场,例如,如果您运行单元测试。这允许您运行测试,即使您的程序的某些部分肯定不工作。
不,它只是不可能。java 代码的编译为您提供字节码,然后在 JVM 上运行。如果编译失败,那么 Java 编译器将无法生成有效的字节码。这就是生成无法由 JVM 运行的错误字节码的原因。
如果我们破坏了那个东西,那么迟早没有人会开发代码。:)
嗯……有点。
某些 IDE 允许您运行其中包含编译错误的代码。例如,Eclipse。
然后,当您尝试执行(说)带有编译错误的方法时,您会收到一个异常,其消息说明此代码中存在编译错误。事实上,Eclipse 编译器已经将该方法编译为一个只会抛出异常的存根方法。
请注意,JLS 不认可此行为。就个人而言,我认为使用这个 IDE 功能是个坏主意。
IMO,更好的方法是注释掉导致编译错误的代码部分......或者只是修复它们。
您希望避免compilation errors
,您会做什么?如果您避免编译错误,您会得到.class
文件吗?没有.class
文件你无法想象运行你的代码。当您的代码包含语法错误时会出现编译错误。没有正确的语法,你什么也做不了。有关编译错误的更多信息,请参见