Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #37156

Re: Where to put the return

From Arne Vajhøj <arne@vajhoej.dk>
Newsgroups comp.lang.java.programmer
Subject Re: Where to put the return
Date 2017-08-12 21:41 -0400
Organization Aioe.org NNTP Server
Message-ID <omoao0$lmg$1@gioia.aioe.org> (permalink)
References <87zib6zeup.fsf@munus.decebal.nl> <omlidd$k9h$1@gioia.aioe.org> <ev9dm4Ff34aU1@mid.individual.net>

Show all headers | View raw


On 8/12/2017 6:27 PM, Robert Klemme wrote:
> On 12.08.2017 02:33, Arne Vajhøj wrote:
>> I would go for:
>>
>>        private static final String NO_VALUE = "";
>>        private static String getOldestUsed() {
>>            try (Statement stmt     = sqlite3Conn.createStatement();
>>                ResultSet rsOldest = stmt.executeQuery(OLDEST_USED)) {
>>                if (rsOldest.next()) {
>>                    return rsOldest.getString("used");
>>                } else {
>>                    return NO_VALUE;
>>                }
>>            } catch (SQLException e) {
>>                giveError("Error in displayOldestUsed");
>>                e.printStackTrace();
>>                fatalError("");
>>                return NO_VALUE;
>>            }
>>        }
>>
>> But there are many acceptable ways of writing this.
> 
> Your approach has a few advantages though:
> 
>   - The compiler will catch the case that you forget to include
>     an explicit return in the catch.
>   - For the reader the code for the regular case (i.e. without
>     exception) is in one place (in the try body) so it is easier
>     to digest.
> 
> Btw. I'd rather throw in catch than return a special value.  That is 
> cleaner and does not break if the special value actually occurs in the 
> database.

Yes.

Exception instead of "magic value" is better if possible.

Arne

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Where to put the return Cecil Westerhof <Cecil@decebal.nl> - 2017-08-11 10:30 +0200
  Re: Where to put the return Cecil Westerhof <Cecil@decebal.nl> - 2017-08-11 12:24 +0200
  Re: Where to put the return Eric Douglas <e.d.programmer@gmail.com> - 2017-08-11 08:31 -0700
  Re: Where to put the return Arne Vajhøj <arne@vajhoej.dk> - 2017-08-11 20:33 -0400
    Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-13 00:27 +0200
      Re: Where to put the return Arne Vajhøj <arne@vajhoej.dk> - 2017-08-12 21:41 -0400
        Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-13 13:15 +0200
      Re: Where to put the return Cecil Westerhof <Cecil@decebal.nl> - 2017-08-15 08:12 +0200
        Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-19 11:10 +0200
          Re: Where to put the return Cecil Westerhof <Cecil@decebal.nl> - 2017-08-19 12:54 +0200
            Re: Where to put the return Cecil Westerhof <Cecil@decebal.nl> - 2017-08-19 13:46 +0200
              Re: Where to put the return Cecil Westerhof <Cecil@decebal.nl> - 2017-08-19 14:10 +0200
              Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-19 15:35 +0200
                Re: Where to put the return Arne Vajhøj <arne@vajhoej.dk> - 2017-08-19 09:48 -0400
                Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-19 23:26 +0200
                Re: Where to put the return Arne Vajhøj <arne@vajhoej.dk> - 2017-08-19 20:01 -0400
                Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-20 19:30 +0200
                Re: Where to put the return Cecil Westerhof <Cecil@decebal.nl> - 2017-08-19 17:06 +0200
            Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-19 15:35 +0200
              Re: Where to put the return Arne Vajhøj <arne@vajhoej.dk> - 2017-08-19 09:43 -0400
              Re: Where to put the return Cecil Westerhof <Cecil@decebal.nl> - 2017-08-19 17:15 +0200
                Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-21 22:33 +0200
          Re: Where to put the return lewbloch@gmail.com - 2017-08-19 09:20 -0700
            Re: Where to put the return Robert Klemme <shortcutter@googlemail.com> - 2017-08-21 22:29 +0200
    Re: Where to put the return Eric Douglas <e.d.programmer@gmail.com> - 2017-08-14 05:11 -0700
  Re: Where to put the return Brixomatic <brixomatic@yahoo.com> - 2017-08-31 19:27 +0200

csiph-web