Yes, having more specific exceptions is usually helpful, as it allows the code to handle various cases differently. Otherwise, would there ever be a need for any type of exception except the base Exception class?

In this case, having a PDFParseException, or at least a ParseException provided by PDFBox instead of just an IOException would tell us that there is no problem with the file itself or the input and output of the file into the parser, but that something went wrong with the parsing.

When it becomes a TikaException instead of an IOException is when it becomes the most useful, because that then allows my software to distinguish between an event caused by parsing versus some general problem with the file. Imagine if it wasn't an IOException and was just an Exception. Then my programming would have to be even more generic and not be able to handle the exception as specifically.


On 7/11/2014 2:08 AM, James Green wrote:
This raises an interesting question, and one that applies to software in
general. I actually think PDFBox has it right - something more specific
might sound correct but to whom is it is useful? Exceptions in my
experience tend to bubble straight to the user (perhaps logged to file, and
an "oops" given to the user). The user in this case needs to be told
there's something wrong with the file, and the error itself says what.

Does PDFParseException give your software some new behaviour?



Reply via email to