正如以往的程序设计经验了解到的,向计算机输入代码时很容易输入一些不正确的内容.幸运的是,如果向程序输入了不正确的内容,那么编译器会在编译时报告语法错误消息.无论输入的是什么,Java编译器都会尝试理解源代码.出于这一原因,被报告的错误并不总是反应实际引起问题的地方.例如,在前面的程序中,在main()方法后没有输入左花括号会导致编译器报告下列错误:
这里讨论的关键是当程序包含语法错误时,并不一定要从字面上理解编译器提供的消息,因为这些消息可能会误导你.需要推测错误消息以求找出真正的问题.另外,应该看看程序中被标记行之前的几行代码,有时候报告错误的位置却是真正发生错误位置的后面几行.