On Wed, 5 May 2021 11:00:21 GMT, Rémi Forax 
<github.com+828220+fo...@openjdk.org> wrote:

>> src/java.base/share/classes/java/io/FileInputStream.java line 284:
>> 
>>> 282:             long size = length - position;
>>> 283:             if (size > (long)Integer.MAX_VALUE)
>>> 284:                 throw new OutOfMemoryError("Required array size too 
>>> large");
>> 
>> What do you think of adding "length, position, and size" to the exception 
>> message?
>
> We usually don't do that for OutOfMemoryError because concatenation implies 
> allocation

Well, here `OutOfMemory` is more like "I can't read all the data since the 
array won't fit".
It would definitely help to have actual file size there, especially in case 
filesystem returns weird values (e.g. negative file length).

This branch will almost never be taken, and even if taken, it won't be "low 
memory" condition. So the allocation does not hurt, however, it would simplify 
the analysis should the case trigger.

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

PR: https://git.openjdk.java.net/jdk/pull/3845

Reply via email to