On Fri, 18 Oct 2024 13:56:04 GMT, Lukasz Kostyra <lkost...@openjdk.org> wrote:

>> modules/javafx.graphics/src/main/java/com/sun/javafx/iio/ImageStorage.java 
>> line 385:
>> 
>>> 383:                         try {
>>> 384:                             theStream = 
>>> ImageTools.createInputStream(input);
>>> 385:                         } catch (IOException ignored) {
>> 
>> It looks like this abstracts away errors like `FileNotFoundException`, and 
>> it will do a fallback in all cases, even if it is not a 404 or 
>> `FileNotFoundException` -- errors like network problems, permission 
>> problems, etc, will also trigger a fallback (likely resulting in the same 
>> error).  But it could also be a different error, hiding the original problem.
>> 
>> In Java we have the option to add a 'surpressed' exception.  You could 
>> attach it to the 2nd exception, so the original cause of the problem (which 
>> could be a permission problem for example) is not lost.
>> 
>> Maybe I'm being too picky :)
>
> That is technically solved by re-calling `createInputStream(input)` like 
> @mstr2 suggested to get a correct exception with valid message, so I will go 
> with that approach.

This is a bit minor, but what do you think about storing the previous exception 
in L385, and then re-throwing it? This is most likely exceedingly rare, but it 
might be possible that the reason why the previous call to `createInputStream` 
failed was only transient, we're not 100% sure that we can reproduce the 
exception by attempting it again.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1598#discussion_r1806583244

Reply via email to