[
https://issues.apache.org/jira/browse/FILEUPLOAD-184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simone Tripodi updated FILEUPLOAD-184:
--------------------------------------
Fix Version/s: (was: 1.3)
> 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
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira