<< Chapter < Page Chapter >> Page >
Basic syntax errors in Java are explained.

Some errors are caused by violations of the syntax of Java. Although they are easy to understand, there is no easy way to find the exact causeof such errors except by checking the code around the location of the error character by character looking for the syntax error.

...expected

The syntax of Java is very specific about the required punctuation. This error occurs, for example, if you forget a semicolonat the end of a statement or don't balance parentheses:

if (i > j        // Error, unbalanced parentheses   max = i        // Error, missing semicolonelse   max = j;

Unfortunately, this syntax error is not necessarily caught precisely at the point of the mistake so you must carefully check the preceding characters inthe line or even in a previous line in order to find the problem.

Eclipse:
Syntax error, insert ") Statement" to complete IfStatement
Syntax error, insert ";" to complete Statement
Eclipse is more informative as to the precise syntax error encountered.

unclosed string literal

String literals must be enclosed in quotation marks. A literal is a source-code representation of a value; most literals are of primitive types like int or char , but there are also literals of type String and the literal null of any reference type. This error occurs if you fail to terminate the literal with quotation marks. Fortunately, the syntax of Javarequires that a string literal appear entirely on one line so the error message appears on the same line as the mistake. If you need a string literal that islonger than a single line, create two or more literals and concatenate them with + :

String longString =   "This is first half of a long string " +  "and this is the second half.";

Eclipse: String literal is not properly closed by a double-quote In Eclipse you can write a string literal of arbitrary length and the environment will break the string and insert the + automatically.

illegal start of expression

Most programming constructs are either statements or expressions. This error occurs when an expression is expected but not found. In Java, an assignment statement is considered to be an expression which returns a value , so errors concerning expressions also apply to assignment statements. The value of an assignment statement considered as an expressionis the value of the expression on the right-hand side that is assigned to the variable on the left-hand side. Examples:

  • An extra right parenthesis after the condition of an if -statement: if (i > j) )        // Error, extra parenthesis   max = i; Eclipse: Syntax error on token ")", delete this token The syntax of a programming language is defined in terms of tokens consisting of one or more characters. Identifiers and reserved keywords are tokens as are singlecharacters like + and sequences of characters like != . Eclipse diagnoses this as a simple syntax error and does not mention expressions.
  • Forgetting the right-hand side of an assignment statement: max = ;            // Error, missing right-hand side Eclipse: Syntax error on token "=", Expression expected after this token

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Compile and runtime errors in java. OpenStax CNX. Dec 28, 2009 Download for free at http://cnx.org/content/col10913/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Compile and runtime errors in java' conversation and receive update notifications?

Ask