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


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

Re: telling the javac that a method doesn't return at all...

From Andreas Leitgeb <avl@auth.logic.tuwien.ac.at>
Newsgroups comp.lang.java.programmer
Subject Re: telling the javac that a method doesn't return at all...
Date 2014-03-09 14:33 +0000
Organization A noiseless patient Spider
Message-ID <slrnlhouu7.rhr.avl@login.logic.tuwien.ac.at> (permalink)
References <slrnlh1gp1.g8j.avl@login.logic.tuwien.ac.at> <4333aee6-3526-4890-8d8a-fee04f9af69a@googlegroups.com>

Show all headers | View raw


mike.s.schilling@gmail.com <mike.s.schilling@gmail.com> wrote:
> On Friday, February 28, 2014 9:10:57 AM UTC-8, Andreas Leitgeb wrote:
>> Suppose I have some "doCleanUpAndExit" method, that in the
>> end either calls System.exit() or throws some Error or custom 
>> RuntimeException.
>> 
>> I'd like the compiler to *know* that this method cannot possibly
>> return, and that any code following it should be considered 
>> as "unreachable" code by the compiler.
>> 
>> PS: I've already defined a "WontEverGetHereException" to throw
>>   at certain places, where the compiler otherwise barfed about
>>   possible non-returning exits from value returning methods,...
>
> 1. Define doCleanUpAndExit() to return, say, a bool.
> 2. Define a constructor WontEverGetHereException(bool).  (WontEverGetHereException needs to be a RuntimeException.)
> 3. Exit via 
>     throw new WontEverGetHereException(doCleanUpAndExit())

It's rather a question of personal taste, whether one prefers
  doCleanUpAndExit(); throw new WontEverGetHereException();
over
  throw new WontEverGetHereException(doCleanUpAndExit());
or the other way round, but it's fine to have both to choose from.

thanks for the alternative version!

PS: I'll probably stick with the former. :)

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


Thread

telling the javac that a method doesn't return at all... Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-02-28 17:10 +0000
  Re: telling the javac that a method doesn't return at all... Lew <lewbloch@gmail.com> - 2014-02-28 16:13 -0800
    Re: telling the javac that a method doesn't return at all... Jeff Higgins <jeff@invalid.invalid> - 2014-03-01 09:12 -0500
      Re: telling the javac that a method doesn't return at all... Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-05 13:06 +0000
  Re: telling the javac that a method doesn't return at all... Roedy Green <see_website@mindprod.com.invalid> - 2014-03-01 01:10 -0800
    Re: telling the javac that a method doesn't return at all... Jeff Higgins <jeff@invalid.invalid> - 2014-03-01 08:44 -0500
  Re: telling the javac that a method doesn't return at all... Arne Vajhøj <arne@vajhoej.dk> - 2014-03-01 22:02 -0500
    Re: telling the javac that a method doesn't return at all... Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-05 13:31 +0000
      Re: telling the javac that a method doesn't return at all... Arne Vajhøj <arne@vajhoej.dk> - 2014-03-11 20:11 -0400
        Re: telling the javac that a method doesn't return at all... Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-12 10:17 +0000
  Re: telling the javac that a method doesn't return at all... Mike Amling <mamling@chaff.us> - 2014-03-04 13:19 -0600
    Re: telling the javac that a method doesn't return at all... Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-05 13:39 +0000
  Re: telling the javac that a method doesn't return at all... mike.s.schilling@gmail.com - 2014-03-04 19:30 -0800
    Re: telling the javac that a method doesn't return at all... Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-09 14:33 +0000
  Re: telling the javac that a method doesn't return at all... Silvio <silvio@internet.com> - 2014-03-12 14:03 +0100
  Re: telling the javac that a method doesn't return at all... Michal Kleczek <michal_wytnijto@kleczek.org> - 2014-03-19 11:51 +0100
    Re: telling the javac that a method doesn't return at all... Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-19 12:28 +0000
      Re: telling the javac that a method doesn't return at all... Michal Kleczek <michal_wytnijto@kleczek.org> - 2014-03-23 11:15 +0100

csiph-web