[ 
https://issues.apache.org/jira/browse/IO-77?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556635#action_12556635
 ] 

Holger Hoffstätte commented on IO-77:
-------------------------------------

Sigh..I really didn't want to turn this into a quasi-religious discussion about 
the merits of Javas already messed up exception handling. You do not have to 
agree with using IAE; I don't agree with a lot of things either :-)

I actually agree with you that using IAE could be considered "inconsistent" 
under the assumption that "the majority of methods out there do not check their 
parameters". However, the rest of commons-* (in this case IO) _does_, so within 
the boundaries of *this library* the assumption is false. My main beef with 
throwing NPE is that is effectively inverts the meaning of the exception, thus 
making it arbitrary. Whether we check & throw exceptions or not at all is an 
entirely different aspect.

Finally I do take issue with your statement that "The argument that people will 
catch NullPointerException isn't valid", if only because I have _seen_ 
precisely that in oh so holy "production code", belive it or not - and yes it 
did cover up unrelated NPEs. Why people do that is irrelevant. People do a lot 
of stupid things, but that doesn't mean that a library should encourage or 
enable them to do so.


> [io] add a convenience FileUtils.move(File src, File dest)
> ----------------------------------------------------------
>
>                 Key: IO-77
>                 URL: https://issues.apache.org/jira/browse/IO-77
>             Project: Commons IO
>          Issue Type: Improvement
>          Components: Utilities
>    Affects Versions: 1.0
>         Environment: Operating System: other
> Platform: Other
>            Reporter: nicolas de loof
>            Priority: Minor
>             Fix For: 1.4
>
>         Attachments: IO-77.patch, patch_io.txt
>
>
> I'm using FileUtils as it partially solves the missing "move" method for File,
> that is so simple to do in unix shell.
> A full implementation in FileUtils may be great :
> static boolean FileUtils.move(File src, File dest)
> throws IOException
> {
>     boolean rename = src.renameTo(dest);
>     if (!rename)
>     {
>         copyFile(file, dest);
>         file.delete();
>     }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to