Fixing Errors

If errors exist in your program when you compile it, a message is displayed that explains each error and the lines on which they occurred. The following output illustrates an attempt to compile a program that has an error and the error messages that are displayed as a result:

C:\J24Work>javac cannot resolve symbol.
symbol : method print1n (java.lang.String)
location: class
1 error C:\J24Work>

Error messages displayed by the javac tool include the following information:

  • The name of the Java program
  • The number of the line where the error was found
  • The type of error
  • The line where the error was found

As you learned during the past hour, errors in programs are called bugs. Finding those errors and squashing them is called debugging. The following is another example of an error message you might see when compiling the Saluton program: cannot resolve symbol.
symbol : variable greting location: class Saluton

In this example, the 4 that follows the filename indicates that the error is on Line 4. This is where having a line-numbering word processor comes in handy—you can jump more easily to the Java statement that's associated with the error. The actual error message, cannot resolve symbol in this case, often can be confusing to new programmers. In some cases, the message can be confusing to any programmer. When the error message doesn't make sense to you, take a look at the line where the error occurred. For instance, can you determine what's wrong with the following statement?


The problem is that there's a typo in the variable name, which should be greeting instead of greting. If you get error messages when compiling the Saluton program, double-check that your program matches Listing 2.2, and correct any differences you find. Make sure that everything is capitalized correctly, and that all punctuation marks (such as {, }, and ;) are included. Often, a close look at the statement included with the error message is enough to reveal the error, or errors, that need to be fixed.

Did you Know?

This tutorial's official website at includes source files for all programs that you create. If you can't find any typos or other reasons for errors in the Saluton program, go to the tutorial's website and download from the Hour 2 page. Try to compile that file, too.

If the Java compiler responds with error messages such as Bad command or filename, error: Can't read, Class not found, or NoClassDef, the most likely culprit is that your Java Development Kit needs to be reconfigured—a common situation on Windows systems. For help fixing this, read Appendix A, "Using the Java Development Kit."