[
https://issues.apache.org/jira/browse/FILEUPLOAD-184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jochen Wiedmann resolved FILEUPLOAD-184.
----------------------------------------
Resolution: Won't Fix
Assignee: Jochen Wiedmann
I generally agree with your view. That said, replacing Exception with a
subclass in method signature, would be an incompatible change. And we are keen
to avoid that. So, I am closing as WONTFIX. Sorry!
> Generic exception thrown in FileItem#write method
> -------------------------------------------------
>
> Key: FILEUPLOAD-184
> URL: https://issues.apache.org/jira/browse/FILEUPLOAD-184
> Project: Commons FileUpload
> Issue Type: Improvement
> Affects Versions: 1.2.2
> Environment: Windows 7, jdk 6
> Reporter: Zixiang Tang
> Assignee: Jochen Wiedmann
> Priority: Minor
>
> I write a servlet to handle file upload request. It works fine, all files can
> be received correctly.
> However, I find that the write method in FileItem interface throws generic
> exception. I don't think it's a good practice. Throwing generic exception
> directly means we could not know what exception happened exactly. Also, we
> have to catch generic exception in our class, it is not a proper way. Ref to
> http://www.javaworld.com/javaworld/jw-10-2003/jw-1003-generics.html
> And I have look the source code of DiskFileItem, which seems to be the only
> implementation of FileItem interface. In write method, FileUploadException
> will be thrown only when isInMemory() return false and getStoreLocation() is
> null, other exceptions are thrown directly without any handle, though the
> comment above FileUploadException thrown sentence is "For whatever reason we
> cannot write file to disk."
> I think a proper way of error handling in write method is to throw
> IllegalArgumentException and FileUploadException. IllegalArgumentException
> will be thrown if file argument is null, and other exceptions caused inside
> write method will be wrapped as FileUploadException and re-throw.
> Anyway, FileUploadException will be thrown "For whatever reason we cannot
> write file to disk.", right?
> Please point out any mistake if I'm wrong, I really appreciate your works. :)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)