Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #36607
| From | Marcel Mueller <news.5.maazl@spamgourmet.org> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Eclipse doesn't like else |
| Date | 2017-05-12 20:30 +0200 |
| Organization | MB-NET.NET for Open-News-Network e.V. |
| Message-ID | <of4v05$j60$1@gwaiyur.mb-net.net> (permalink) |
| References | <3c792901-a05d-4a02-b058-20b9e0576095@googlegroups.com> |
On 12.05.17 19.44, Eric Douglas wrote:
> Why must it give a warning on this else condition?
>
> public class CompileMe {
> public static void testMe() {
> try {
> Connection conn = DriverManager.getConnection("db_connect_string", "db_userid", "db_password");
> String someCondition = "check me";
> PreparedStatement myPrep;
> myPrep = conn.prepareStatement("initial query");
> myPrep.executeQuery();
> myPrep.close();
> if (someCondition.equals("one")) {
> myPrep = conn.prepareStatement("query something");
> } else {
> myPrep = conn.prepareStatement("query something else");
> }
> myPrep.executeQuery();
> myPrep.close();
> } catch (SQLException e) {
> e.printStackTrace();
> }
> }
> }
>
> This example will run the same whether we have 2 calls to prepareStatement, or set one common string to pass into prepareStatement after the if, but if we write it this way Eclipse gives a warning "Resource leak: 'myPrep' is not closed at this location".
Eclispe is right. Your code is not exception safe. If an SQLException is
thrown close will not be executed. close should always be called from a
finally block.
Or even better with Java 7:
try (PreparedStatement myPrep = conn.prepareStatement("initial query"))
{ myPrep.executeQuery();
}
Marcel
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Eclipse doesn't like else Eric Douglas <e.d.programmer@gmail.com> - 2017-05-12 10:44 -0700
Re: Eclipse doesn't like else Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-05-12 20:30 +0200
Re: Eclipse doesn't like else Eric Douglas <e.d.programmer@gmail.com> - 2017-05-12 11:53 -0700
Re: Eclipse doesn't like else Arne Vajhøj <arne@vajhoej.dk> - 2017-05-13 20:39 -0400
Re: Eclipse doesn't like else v_borchert@despammed.com (Volker Borchert) - 2017-05-14 03:50 +0000
Re: Eclipse doesn't like else v_borchert@despammed.com (Volker Borchert) - 2017-05-12 18:15 +0000
Re: Eclipse doesn't like else Eric Douglas <e.d.programmer@gmail.com> - 2017-05-12 13:33 -0700
Re: Eclipse doesn't like else Martin Gregorie <martin@address-in-sig.invalid> - 2017-05-12 21:22 +0000
Re: Eclipse doesn't like else v_borchert@despammed.com (Volker Borchert) - 2017-05-13 00:52 +0000
Re: Eclipse doesn't like else Arne Vajhøj <arne@vajhoej.dk> - 2017-05-13 21:04 -0400
csiph-web