[ https://issues.apache.org/jira/browse/PDFBOX-2513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14222087#comment-14222087 ]
John Hewson edited comment on PDFBOX-2513 at 11/22/14 5:49 PM: --------------------------------------------------------------- What you're proposing is to catch a runtime exception and throw a checked exception from it. That's a serious problem, as you'll end up turning runtime exceptions such as OutOfMemoryException into IOException. One should never catch RuntimeException, ever*. While the CCITT code is certainly complex, the exceptions are straightforward, they should be IOExceptions, there should be no doubt about that. \*Ok, maybe for logging? If it's re-thrown. Actually that doesn't seem like a great idea either. was (Author: jahewson): What you're proposing is to catch a runtime exception and throw a checked exception from it. That's a serious problem, as you'll end up turning runtime exceptions such as OutOfMemoryException into IOException. One should never catch RuntimeException, ever*. While the CCITT code is certainly complex, the exceptions are straightforward, they should be IOExceptions, there should be no doubt about that. \*Ok, maybe for logging? If it's re-thrown. You get the idea. > false negative? RuntimeException: EOL encountered in white run > -------------------------------------------------------------- > > Key: PDFBOX-2513 > URL: https://issues.apache.org/jira/browse/PDFBOX-2513 > Project: PDFBox > Issue Type: Bug > Components: Preflight > Affects Versions: 2.0.0 > Environment: java7 deb7 > Reporter: Ralf Hauser > Attachments: 2513.pdf > > > java.lang.RuntimeException: EOL encountered in white run. > at > org.apache.pdfbox.filter.ccitt.TIFFFaxDecoder.decodeWhiteCodeWord(TIFFFaxDecoder.java:1168) > at > org.apache.pdfbox.filter.ccitt.TIFFFaxDecoder.decodeT6(TIFFFaxDecoder.java:980) > at > org.apache.pdfbox.filter.CCITTFaxFilter.decode(CCITTFaxFilter.java:95) > at org.apache.pdfbox.cos.COSStream.doDecode(COSStream.java:386) > at org.apache.pdfbox.cos.COSStream.doDecode(COSStream.java:335) > at org.apache.pdfbox.cos.COSStream.getDecodeResult(COSStream.java:290) > at > org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.<init>(PDImageXObject.java:115) > at > org.apache.pdfbox.pdmodel.graphics.PDXObject.createXObject(PDXObject.java:65) > at > org.apache.pdfbox.preflight.process.reflect.ResourcesValidationProcess.validateXObjects(ResourcesValidationProcess.java:285) > at > org.apache.pdfbox.preflight.process.reflect.ResourcesValidationProcess.validate(ResourcesValidationProcess.java:80) > at > org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:81) > at > org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:54) > at > org.apache.pdfbox.preflight.process.reflect.SinglePageValidationProcess.validateResources(SinglePageValidationProcess.java:167) > at > org.apache.pdfbox.preflight.process.reflect.SinglePageValidationProcess.validate(SinglePageValidationProcess.java:82) > at > org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:81) > at > org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:54) > at > org.apache.pdfbox.preflight.process.PageTreeValidationProcess.validatePage(PageTreeValidationProcess.java:56) > at > org.apache.pdfbox.preflight.process.PageTreeValidationProcess.validate(PageTreeValidationProcess.java:45) > at > org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:81) > at > org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:118) > at > org.apache.pdfbox.preflight.PreflightDocument.validate(PreflightDocument.java:168) -- This message was sent by Atlassian JIRA (v6.3.4#6332)