On Tue, 7 Dec 2021 14:24:41 GMT, Andrey Turbanov <[email protected]> wrote:
>> src/java.base/share/classes/sun/net/www/MimeTable.java line 385:
>>
>>> 383:
>>> 384: protected boolean saveAsProperties(File file) {
>>> 385: try (FileOutputStream os = new FileOutputStream(file)) {
>>
>> This is not strictly equivalent as now an exception thrown during `close()`
>> will be printed instead of being ignored. I have no idea whether it's a good
>> thing or a bad thing, but that's a _different_ thing...
>> So unless someone with more historical knowledge of this area can comment,
>> maybe this change should be reverted.
>
> I believe it's always good to have at least _some_ trace if we got Exception.
> If closing FileOutputStream failed - there is no guarantee, that all written
> content is actually stored to filesystem.
> BTW, this method `saveAsProperties` seems unused...
This is legacy code with probably poor testing coverage. Usually we don't print
anything on the console directly and unconditionally - except in some well
identified cases. Ignoring exceptions thrown by `close` is a common idiom. That
said - it does seem that this method is indeed never called - so for the sake
of simplification I'd agree to keep this change as proposed.
Remind me to sponsor this after the fork.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5818