首页 > 解决方案 > Java 编译器

问题描述

Java 编译器经常会产生大量错误消息,即使原因是单个错误,例如未声明的变量。为什么这个编译器在检测到错误后继续处理源文件,而不是停止?

标签: javacompiler-construction

解决方案


对于大型项目,编译可能会很慢;因此它节省了程序员的时间让编译器通知他们多个错误,而不必修复一个错误、重新编译、修复另一个错误、重新编译等等。

的确,一个错误通常会导致许多编译器错误,但是即使代码中只有一个“真正的”错误,一次报告许多错误通常也没有什么坏处。有时会出现不止一个“真正的”错误。

默认情况下,javac在 100 个错误后放弃编译。如果你真的希望它在一个错误后停止,你可以设置命令行参数-Xmaxerrs 1

对于绝大多数程序员来说,这根本不是问题,因为如果您使用 IDE,那么报告的错误javac将在代码编辑器中突出显示,您可以将鼠标悬停在每个突出显示部分上以查看该部分的错误消息编码。这使得处理更多错误消息变得更加易于管理。您很少需要javac在命令行上运行并直接从控制台读取这些错误消息。


推荐阅读