Bug 47174

Summary: Should never use Error to report runtime errors
Product: XMLGraphicsCommons - Now in Jira Reporter: Sebb <sebb>
Component: image codecsAssignee: XML Graphics Project Mailing List <general>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 1.3.1   
Target Milestone: --   
Hardware: PC   
OS: Windows XP   

Description Sebb 2009-05-09 03:41:51 UTC
See Bug 47171:

TIFFImageEncoder uses Error to report unexpected conditions, e.g.

        switch(dataType) {
        case DataBuffer.TYPE_BYTE:
            if(sampleSize[0] != 1 && sampleSize[0] == 4 &&
               sampleSize[0] != 8) {
                throw new Error("TIFFImageEncoder2");
            }
            break;

Using Error makes it hard to safely catch the exception, as there are some
Errors that should not be caught (e.g. ThreadDeath)

The code should use a more specific Error, e.g. RuntimeException or
IllegalArgumentException or InvalidParameterException.


There are a few other classes that use Error():

TIFF*

Glyphs
AbstractGraphics2D
TransformType

Please can these be changed to use a RuntimeError of some kind?