Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #36999
| Newsgroups | comp.lang.java.programmer |
|---|---|
| Date | 2017-07-26 11:16 -0700 |
| References | <fb0314ea-bd97-4348-8af1-3ac9f9f46bdc@googlegroups.com> <ojoaip$pab$1@gioia.aioe.org> <70f5af57-8dc0-416c-b2aa-0bbbb47fc7b5@googlegroups.com> <ojoe2s$6rm$1@dont-email.me> |
| Message-ID | <c7fe6140-5e85-4cbb-b1b1-cb72fbfbaec7@googlegroups.com> (permalink) |
| Subject | Re: null checks |
| From | lewbloch@gmail.com |
On Friday, July 7, 2017 at 9:53:41 AM UTC-7, Eric Sosman wrote: > On 7/7/2017 11:54 AM, Eric Douglas wrote: > > On Friday, July 7, 2017 at 11:50:05 AM UTC-4, Arne Vajhøj wrote: > >> > >> I am not sure that I understand the question. > >> > >> Annotations can be used by compilers or check tools to > >> issue warnings/errors and by AOP tools to insert runtime checks > >> automatically. > >> > >> A runtime check is just a piece of code that does a runtime check. > >> > >> Two completely different purposes. > >> > >> Arne > > > > So what are you trying to say, if you need a parameter to never be null use both the @NonNull and the new Objects.requireNonNull()? > > Is the assert verb still necessary or useful? > > See Arne's response. I'll just add that `assert' is not > suitable for sanity-checking arguments to public methods, for > the very simple reason that > > I T C A N B E T U R N E D O F F > > ... and in fact *is* turned off by default unless you ask the > JVM to enable it. > > `assert' is for catching logic errors in the code, not invalid > data from "external sources." What counts as "external" is a bit > fuzzy, and some arguments (particularly of `private' methods) may > well count as "internal" and be appropriate for `assert' tests. > But if you require a reference to be non-null or a number to be > non-negative or a String to be exactly seven characters long, you > should enforce your requirement with something stronger than `assert'. `assert` is active documentation for algorithmic invariants. Its main purpose is to assert (hence the name) that an invariant holds. To use it correctly, one has to know what an invariant is and why it's important. -- Lew
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
null checks Eric Douglas <e.d.programmer@gmail.com> - 2017-07-07 08:03 -0700
Re: null checks Arne Vajhøj <arne@vajhoej.dk> - 2017-07-07 11:49 -0400
Re: null checks Eric Douglas <e.d.programmer@gmail.com> - 2017-07-07 08:54 -0700
Re: null checks Arne Vajhøj <arne@vajhoej.dk> - 2017-07-07 12:12 -0400
Re: null checks Eric Douglas <e.d.programmer@gmail.com> - 2017-07-07 10:16 -0700
Re: null checks Joerg Meier <joergmmeier@arcor.de> - 2017-07-08 22:33 +0200
Re: null checks Martin Gregorie <martin@address-in-sig.invalid> - 2017-07-08 21:14 +0000
Re: null checks Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-07-08 17:51 -0400
Re: null checks Martin Gregorie <martin@address-in-sig.invalid> - 2017-07-08 22:26 +0000
Re: null checks Arne Vajhøj <arne@vajhoej.dk> - 2017-07-08 18:28 -0400
Re: null checks Joerg Meier <joergmmeier@arcor.de> - 2017-07-25 07:26 +0200
Re: null checks Martin Gregorie <martin@address-in-sig.invalid> - 2017-07-25 12:12 +0000
Re: null checks Arne Vajhøj <arne@vajhoej.dk> - 2017-07-08 18:20 -0400
Re: null checks Eric Douglas <e.d.programmer@gmail.com> - 2017-07-10 05:35 -0700
Re: null checks Robert Klemme <shortcutter@googlemail.com> - 2017-07-09 13:10 +0200
Re: null checks Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-07-07 12:53 -0400
Re: null checks lewbloch@gmail.com - 2017-07-26 11:16 -0700
Re: null checks Eric Douglas <e.d.programmer@gmail.com> - 2017-07-26 11:40 -0700
Re: null checks Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-07-26 16:40 -0400
Re: null checks lewbloch@gmail.com - 2017-07-28 18:47 -0700
Re: null checks Wayne <wayne@nospam.invalid> - 2017-07-07 16:24 -0400
Re: null checks Joerg Meier <joergmmeier@arcor.de> - 2017-07-08 22:32 +0200
Re: null checks Lothar Kimmeringer <news201705@kimmeringer.de> - 2017-07-09 15:59 +0200
Re: null checks Arne Vajhøj <arne@vajhoej.dk> - 2017-07-11 20:30 -0400
csiph-web