RFR: 8315952: Open source several Swing JToolbar JTooltip JTree tests [v2]

Damon Nguyen dnguyen at openjdk.org
Tue Sep 19 16:35:53 UTC 2023


On Tue, 19 Sep 2023 16:30:07 GMT, Harshitha Onkar <honkar at openjdk.org> wrote:

>>> Better to close the stream objects in finally block in case of Exception.
>>> 
>>> ```
>>> finally  {
>>>      if (oos != null) {
>>>          oos.close();
>>>      }
>>>      if (ois != null) {
>>>           ois.close();
>>>      }
>>>   } 
>>> ```
>> 
>> No, *it's not better.* If `oos.close()` throws an exception, then `ois` is left open. In addition to that, any exception thrown from the finally block will replace the exception thrown from the try block.
>> 
>> *The best way is using [**try-with-resources**](https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html)*: it handles all the above correctly.
>
> Noted. Thanks!

Right, I looked into Aleksey's suggestion for try-with-resources and learned that this should handle things correctly. This is applicable when objects like streams or writers need to be closed for example. Thanks for taking a look!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15755#discussion_r1330411187


More information about the client-libs-dev mailing list