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


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

Re: null checks

From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: null checks
Date 2017-07-07 12:53 -0400
Organization A noiseless patient Spider
Message-ID <ojoe2s$6rm$1@dont-email.me> (permalink)
References <fb0314ea-bd97-4348-8af1-3ac9f9f46bdc@googlegroups.com> <ojoaip$pab$1@gioia.aioe.org> <70f5af57-8dc0-416c-b2aa-0bbbb47fc7b5@googlegroups.com>

Show all headers | View raw


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'.

-- 
esosman@comcast-dot-net.invalid
Twelve hundred ninety-three days to go.

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


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