X-Received: by 2002:ac8:3f50:: with SMTP id w16mr577717qtk.25.1551382673646; Thu, 28 Feb 2019 11:37:53 -0800 (PST) X-Received: by 2002:a81:8c9:: with SMTP id 192mr593478ywi.288.1551382673458; Thu, 28 Feb 2019 11:37:53 -0800 (PST) Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!m21no5202049qta.0!news-out.google.com!y15ni2305qta.0!nntp.google.com!m21no5202047qta.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.java.programmer Date: Thu, 28 Feb 2019 11:37:53 -0800 (PST) In-Reply-To: <263782da-7ef6-466c-8cb3-da394bef0501@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=50.78.95.177; posting-account=2czF5goAAAD4GBMPIGV4KcD2K4PhoB_H NNTP-Posting-Host: 50.78.95.177 References: <709a1f3b-fc99-4bd0-a8b8-866092bb7ae9@googlegroups.com> <8e1597a2-5c18-4fd1-83a4-7667e4d11e77@googlegroups.com> <23a8128b-5c54-45ba-bfd0-2f7dda078517@googlegroups.com> <692da128-9302-41cf-a8f7-2a2a5903bf82@googlegroups.com> <3a4ed199-10a5-4ea3-882e-8d598a82dccf@googlegroups.com> <6f5e7b36-af8f-4f1b-b7fe-f53305b8d591@googlegroups.com> <263782da-7ef6-466c-8cb3-da394bef0501@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <662b0bed-fe24-4c60-aa3e-db09bb16d130@googlegroups.com> Subject: Re: it's Closeable, but I don't want to close() it yet. From: Eric Douglas Injection-Date: Thu, 28 Feb 2019 19:37:53 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Lines: 51 Xref: csiph.com comp.lang.java.programmer:38757 On Thursday, February 28, 2019 at 2:33:44 PM UTC-5, burs...@gmail.com wrote= : > Since Eclipse says "potential", it is not sure about its > judgement. Probably it uses some heuristics to find > close leaking, and in your case, >=20 > it produces maybe a false positive. All these checks > that different IDEs offer work by inspecting a small > part of your code and work by producing >=20 > a best guess, through some hand coded heuristics, > that there could be a problem. >=20 > They are not theorem provers that 100% can tell > whether something is a problem or not. >=20 > On Thursday, February 28, 2019 at 8:26:34 PM UTC+1, Eric Douglas wrote: > > On Thursday, February 28, 2019 at 2:12:55 PM UTC-5, burs...@gmail.com w= rote: > > > Yes in the old code you had: > > >=20 > > > while (rs.next()) { > > > r++; > > > } > > > rs.close(); > > >=20 > > > And since rs.next() can throw an exception, > > > it could escape a closing. > > >=20 > > > But try-resource has the ability to close > > > as well, when the try-resource block > > >=20 > > > has an exception. > > >=20 > > > There were nice blog entries in the past > > > from Oracle John Rose, but cant find any > > > of them anymore. The Oracle blogs currently > > >=20 > > > look like shit, what did they do? > > >=20 > >=20 > > 1) Is the confusion with Eclipse or Oracle? I googled it and it went s= traight to Oracle (https://docs.oracle.com/javase/tutorial/essential/except= ions/tryResourceClose.html) which even specifically mentioned my scenario, = simply putting an executeQuery inside the try block, for which Eclipse comp= lains not explicitly closing a ResultSet is a potential resource leak. > >=20 So the ResultSet shouldn't have to be closed, and Oracle's docs being corre= ct would mean it does automatically close when you close the Statement, and= if we don't want to explicitly close it, we should need a SuppressWarnings= on Eclipse which should not cause any problems in executing.