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: [email protected]
For additional commands, e-mail: [email protected]