Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.lang.java.programmer > #4277
| From | tmcd@tmcd-p4-linux.austin.tx.us (Tim McDaniel) |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: About using assertion |
| Date | 2011-05-19 00:32 -0500 |
| Organization | Tim McDaniel's home IBM-PC clone running Linux |
| Message-ID | <sjmea8-067.ln1@tmcd-linux-p4.austin.tx.us> (permalink) |
| References | <f1e4cc83-8596-4e53-bed7-34a5209fe8c4@k3g2000prl.googlegroups.com> <hp3gs6dun3691h96q13jsb6sb4pu0rrvrp@4ax.com> <iq93mt$7ob$1@news.albasani.net> <92r0e9F6lvU1@mid.individual.net> |
In article <92r0e9F6lvU1@mid.individual.net>,
Robert Klemme <shortcutter@googlemail.com> wrote:
>On 09.05.2011 18:11, Lew wrote:
>> public class Foo
>> {
>> public double sqrt( double arg )
>> {
>> if ( arg < 0.0 )
>> {
>> throw new IllegalArgumentException(
>> "sqrt(): negative argument "+ arg );
>> }
>> assert arg >= 0.0; // precondition
>>
>> double result;
>> // rest of algorithm ...
>> return result;
>> }
>> }
>
>Lew, I am not sure what you tried to convey with this posting. I for my
>part would say that the assert is a tad too much here since the if
>clause before that gives me enough "confidence" that arg is actually >=
>0 at that line. If it isn't then I have bigger problems than
>calculating square roots of negative numbers. :-)
Consider
Foo.sqrt(Double.NaN)
The "if" fails, but if assertions are enabled, the "assert" catches
it. This might be an illustration that an assertion can be useful
even if you have "confidence" that it could never fire.
(As a tangent, I'm not sure whether "Foo.sqrt(-0.0)" should throw an
exception or not.)
--
Tim McDaniel; Reply-To: tmcd@panix.com
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
About using assertion byhesed <byhesed@gmail.com> - 2011-05-09 07:36 -0700
Re: About using assertion Robert Klemme <shortcutter@googlemail.com> - 2011-05-09 08:24 -0700
Re: About using assertion Roedy Green <see_website@mindprod.com.invalid> - 2011-05-09 09:01 -0700
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-09 12:11 -0400
Re: About using assertion Robert Klemme <shortcutter@googlemail.com> - 2011-05-09 22:17 +0200
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-09 18:49 -0400
Re: About using assertion Robert Klemme <shortcutter@googlemail.com> - 2011-05-10 07:23 +0200
Re: About using assertion Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-05-10 06:45 -0300
Re: About using assertion Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-10 13:29 +0000
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-10 11:21 -0400
Re: About using assertion Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-10 16:01 +0000
Re: About using assertion RedGrittyBrick <RedGrittyBrick@spamweary.invalid> - 2011-05-10 17:26 +0100
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-10 13:25 -0400
Re: About using assertion Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-10 21:15 +0200
Re: About using assertion tmcd@tmcd-p4-linux.austin.tx.us (Tim McDaniel) - 2011-05-19 00:32 -0500
Re: About using assertion Michal Kleczek <kleku75@gmail.com> - 2011-05-19 08:34 +0200
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-19 08:46 -0400
Re: About using assertion Michal Kleczek <kleku75@gmail.com> - 2011-05-19 15:16 +0200
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-19 09:38 -0400
Re: About using assertion Robert Klemme <shortcutter@googlemail.com> - 2011-05-19 07:41 -0700
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-19 11:00 -0400
Re: About using assertion Patricia Shanahan <pats@acm.org> - 2011-05-19 05:52 -0700
Re: About using assertion tmcd@tmcd-p4-linux.austin.tx.us (Tim McDaniel) - 2011-05-21 18:37 -0500
Re: About using assertion Patricia Shanahan <pats@acm.org> - 2011-05-21 19:00 -0700
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-22 01:19 -0400
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-09 11:35 -0400
Re: About using assertion markspace <-@.> - 2011-05-09 11:40 -0700
Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-09 14:53 -0400
csiph-web