You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Uma Maheswara Rao G (JIRA)" <ji...@apache.org> on 2011/09/26 15:51:27 UTC

[jira] [Created] (HDFS-2364) metaSave API is using Printwriter, It will eat all the IOExceptions.

metaSave API is using Printwriter, It will eat all the IOExceptions.
--------------------------------------------------------------------

                 Key: HDFS-2364
                 URL: https://issues.apache.org/jira/browse/HDFS-2364
             Project: Hadoop HDFS
          Issue Type: Sub-task
          Components: name-node
            Reporter: Uma Maheswara Rao G
            Assignee: Uma Maheswara Rao G


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

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira