Exception in Java - Java Tutorials

This page discusses - Exception in Java- Java Tutorials

Exception in Java - Java Tutorials

Commenting Erroneous Code & Unicode newline Character

In this section, you will find an interesting  problem related to commenting erroneous code which have Unicode in it. We will discuss about error's cause and what should be its possible solution.

First you need to get a look of the code:

public class Sample{
       Character a= new Character('\u000d');
}

When you compile the above code, you will get an error something like this :

Sample.java:2: illegal line end in character literal
Character a = new Character('\u000d');
                                                    ^                            
1 error

Now, we will comment it so that at least it will get compile :

public class Sample {
// Character a = new Character('\u000d');
}

When we try to compile it, we will get the following error :

Sample.java:3: unclosed character literal
}
^
Sample.java:3: <identifier> expected                           
}
          ^
2 errors

But the given below code compile :

public class Sample2 {
// Character a = new Character('\u000d{System.out.println("Hello");}
}

Amazingly the above code compile without any hassle. Now, we try to run it using another class :

public class Sample2Test {
public static void main(String[] args) {
new Sample2();
}
}

The Sample2Test runs and compile successfully and gives the following output :


  Hello               

Reason :

To understand the reason, you need to look at the code just before the class Sample and Sample2 actually get compiled :

Sample.java(After Unicode newline character conversion)

public class Sample {
// Character a = new Character('
');
}

Sample2.java(After Unicode newline character conversion)

public class Sample2{
// Character a = new Character('
{System.out.println("Hello");}
}

As you can see the Unicode newline character(\u000d) change the code by create a new line where it was placed. That's why it gives error. While in the case of Sample2 class it is still correct after creating new line (where it was placed).

I think it will give you a clear idea that the precision must be taken before using Unicode newline character.

Tutorials

  1. Assertion in java
  2. Anonymous Inner Classes - Anonymous Inner Classes tutorial
  3. Appending Strings - Java Tutorials
  4. Assertion in Java
  5. Autoboxing unboxing in Java - Java Tutorials
  6. Thread Deadlocks - Java Tutorials
  7. BASIC Java - Java Tutorials
  8. Interthread Communication in Java
  9. boolean comparisons - tutorial
  10. Catching Exceptions in GUI Code - Java Tutorials
  11. Exception in Java - Java Tutorials
  12. Causing Deadlocks in Swing Code
  13. Class names don't identify a class - Java Tutorials
  14. Commenting out your code - Java Tutorials
  15. Java Deadlocks - Java Deadlocks Tutorials, Deadlocks in Java
  16. Disassembling Java Classes - Java Tutorials
  17. Double-checked locking,java tutorials,java tutorial
  18. Exceptional Constructors - Java Tutorials
  19. Final Methods - Java Tutorials
  20. garbage collection in java
  21. Java - JDK Tutorials
  22. J2EE Singleton Pattern - Design Pattern Tutorials
  23. Java Comments - Java Tutorials
  24. Java Field Initialisation - Java Tutorials
  25. Java HashSet  - Java Tutorials
  26. Java Multi Dimensions Array - Java Tutorials
  27. java awt package tutorial
  28. Java GC
  29. Java HashMap - Java Tutorials
  30. JDK 1.4 the NullPointerException - Java Tutorials
  31. HashMap and HashCode
  32. LinkedHashMap - Java Tutorials
  33. Which is Faster - LinkedList or ArrayList?
  34. Making Enumerations Iterable - JDK 5 Example
  35. Making Exceptions Unchecked - java tutorial,java tutorials
  36. Creation Time Comparison of Multi Dimensional Array- Java Tutorials
  37. Multicasting in Java - java tutorials,tutorial
  38. Non-virtual Methods in Java - java tutorials
  39. Orientating Components Right to Left,java newsletter,java,tutorial
  40. The link to the outer class,java tutorial,java tutorials