Hi All,

The method 
org.apache.commons.imaging.icc.IccProfileParser.getICCProfileInfo(ByteSource) 
looks like:

    public IccProfileInfo getICCProfileInfo(final ByteSource byteSource) {
        // TODO Throw instead of logging?
        final IccProfileInfo result;
        try (InputStream is = byteSource.getInputStream()) {
            result = readICCProfileInfo(is);
        } catch (final Exception e) {
            LOGGER.log(Level.SEVERE, e.getMessage(), e);
            return null;
        }
        //
        try {
            for (final IccTag tag : result.getTags()) {
                final byte[] bytes = byteSource.getBlock(tag.offset, 
tag.length);
                // Debug.debug("bytes: " + bytes.length);
                tag.setData(bytes);
                // tag.dump("\t" + i + ": ");
            }
            // result.fillInTagData(byteSource);
            return result;
        } catch (final Exception e) {
            // Debug.debug("Error: " + file.getAbsolutePath());
            LOGGER.log(Level.SEVERE, e.getMessage(), e);
        }
        return null;
    }

I find it odd and dubious that we would short-circuit the propagation of 
exceptions with logging in such a low-level code. Unless someone can argue 
otherwise, I would like to propagate the exceptions.

TY,
Gary

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to