Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
It is important to note that
PrintStream and PrintWriter do not throw IOExceptions! IOException is a
non-Runtime exception, which means that your code must catch them or declare it
can throw them.
The creators of Java realized that System.out and System.err would be very
heavily used, and did not want to force inclusion of exception handling every time
you wanted to write System.out.println(4).
Therefore, PrintStream and PrintWriter catch their own exceptions and set an
error flag. If you are using one of these classes for real output in your program
(not merely using System.out.println()) you should call checkError() to see
if an error has occurred.
Because of this behavior, PrintStream and PrintWriter are not well suited for
use other than System.out and System.err!
Ref: http://www.cs.usfca.edu/~parrt/doc/java/JavaIO-notes.pdf