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


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

Re: redesign exception

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
From Martin Gregorie <martin@address-in-sig.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: redesign exception
Date Wed, 29 Oct 2014 22:05:53 +0000 (UTC)
Organization A noiseless patient Spider
Lines 37
Message-ID <m2roc1$vlt$2@dont-email.me> (permalink)
References <c79cbd2e-970b-4cd3-b181-da33bb43c4b6@googlegroups.com> <1d6fc97wumvl6$.316nwmuziazw.dlg@40tude.net> <6e29c258-9842-4c60-9d99-9929a92d7a96@googlegroups.com> <m2k5p7$tic$1@dont-email.me> <6429a7c1-3430-4897-aa9b-a9836d9d8a40@googlegroups.com> <5sednVQ7leDCSdDJnZ2dnUVZ8lWdnZ2d@giganews.com> <m2lter$k8o$1@speranza.aioe.org> <xqGdnUCzDu1AGdPJnZ2dnUVZ8judnZ2d@giganews.com> <cb80pmFmpkrU1@mid.individual.net> <6fa2df26-9917-49b8-8366-087afdcc06f8@googlegroups.com> <cbbjkiFjvvcU1@mid.individual.net> <m2qics$d01$1@dont-email.me> <m2r654$j6g$1@speranza.aioe.org> <m2r85a$t4j$1@dont-email.me> <cbco8kFtjp7U1@mid.individual.net>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding 8bit
Injection-Date Wed, 29 Oct 2014 22:05:53 +0000 (UTC)
Injection-Info mx02.eternal-september.org; posting-host="e5160e2be48f1ea550cf61512446f525"; logging-data="32445"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19XlULTXQOp72SN/dD/Gy0PI1Ne+1Fd9Ds="
User-Agent Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
Cancel-Lock sha1:WJUvTJ4YFj5/1j7r9cx2j/699oI=
Xref csiph.com comp.lang.java.programmer:30239

Show key headers only | View raw


On Wed, 29 Oct 2014 18:59:47 +0100, Robert Klemme wrote:

> On 29.10.2014 18:29, Martin Gregorie wrote:
> 
>> I believe a good case can be made that invalid data isn't really an
>> Exception because having both good and bad data input is part of normal
>> processing and therefore something like a boolean VALID/INVALID return
>> from the checking method is alll that's needed. Throwing exceptions
>> should be reserved for processing errors, e.g. a public holiday check
>> on an in-range future date discovering that the valid public holiday
>> list doesn't cover all permitted future dates, or finding that the
>> input represents a security violation serious enough to require
>> attention from somebody other than the user who input it.
> 
> We could discuss quite a bit about this...  If the interfacing code does
> not ensure valid input is passed on than it is totally appropriate for
> lower layers of code to flag this as a processing error (usually via a
> RuntimeException like InvalidArgumentException or NPE).  A checking
> method with a boolean (or more sophisticated) return value can only ever
> be a useful helper but the code receiving data still needs to throw if
> the contract is violated.  There is really no other way.
>
Sure. I was only talking about parts of a program where invalid data 
should be expected as a normal part of the data stream, for instance 
around input validation methods that sit behind an input screen, which 
are going to recycle bad input by telling the user what's wrong with his 
input and inviting corrected data to be supplied. You do the same with 
incoming mail. An invalid recipient address isn't really exceptional: you 
get them all the time and spit them back whence they came with a 5xx SMTP 
error, meanwhile passing clean input on to the archiving and delivery 
systems.


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

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


Thread

redesign exception boxzou@gmail.com - 2014-10-25 19:16 -0700
  Re: redesign exception Joerg Meier <joergmmeier@arcor.de> - 2014-10-26 08:09 +0100
    Re: redesign exception rossum <rossum48@coldmail.com> - 2014-10-26 09:15 +0000
      Re: redesign exception Joerg Meier <joergmmeier@arcor.de> - 2014-10-26 10:36 +0100
      Re: redesign exception Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-10-26 09:23 -0400
        Re: redesign exception boxzou@gmail.com - 2014-10-26 12:56 -0700
          Re: redesign exception Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-10-26 18:10 -0400
            Re: redesign exception boxzou@gmail.com - 2014-10-26 17:39 -0700
      Re: redesign exception boxzou@gmail.com - 2014-10-26 12:06 -0700
        Re: redesign exception Joerg Meier <joergmmeier@arcor.de> - 2014-10-26 20:41 +0100
    Re: redesign exception boxzou@gmail.com - 2014-10-26 12:46 -0700
      Re: redesign exception boxzou@gmail.com - 2014-10-26 13:12 -0700
      Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-26 16:50 -0500
        Re: redesign exception boxzou@gmail.com - 2014-10-26 17:21 -0700
      Re: redesign exception Martin Gregorie <martin@address-in-sig.invalid> - 2014-10-27 01:05 +0000
        Re: redesign exception boxzou@gmail.com - 2014-10-26 19:38 -0700
          Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-27 00:13 -0500
            Re: redesign exception boxzou@gmail.com - 2014-10-27 04:59 -0700
            Re: redesign exception Marketa Jadalova <m-jadalova3@gmail.com> - 2014-10-27 16:55 +0000
              Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-27 12:46 -0500
                Re: redesign exception boxzou@gmail.com - 2014-10-27 15:48 -0700
                Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-27 22:16 -0500
                Re: redesign exception Robert Klemme <shortcutter@googlemail.com> - 2014-10-27 23:54 +0100
                Re: redesign exception boxzou@gmail.com - 2014-10-27 17:20 -0700
                Re: redesign exception boxzou@gmail.com - 2014-10-28 07:12 -0700
                Re: redesign exception Robert Klemme <shortcutter@googlemail.com> - 2014-10-29 08:34 +0100
                Re: redesign exception Martin Gregorie <martin@address-in-sig.invalid> - 2014-10-29 11:17 +0000
                Re: redesign exception Silvio <silvio@internet.com> - 2014-10-29 15:33 +0100
                Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-29 11:35 -0500
                Re: redesign exception boxzou@gmail.com - 2014-10-29 17:51 -0700
                Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-29 20:45 -0500
                Re: redesign exception boxzou@gmail.com - 2014-10-30 04:12 -0700
                Re: redesign exception Silvio <silvio@internet.com> - 2014-10-30 12:38 +0100
                Re: redesign exception boxzou@gmail.com - 2014-10-30 06:23 -0700
                Re: redesign exception boxzou@gmail.com - 2014-10-29 17:01 -0700
                Re: redesign exception Marketa Jadalova <m-jadalova3@gmail.com> - 2014-10-29 16:55 +0000
                Re: redesign exception Martin Gregorie <martin@address-in-sig.invalid> - 2014-10-29 17:29 +0000
                Re: redesign exception Robert Klemme <shortcutter@googlemail.com> - 2014-10-29 18:59 +0100
                Re: redesign exception Martin Gregorie <martin@address-in-sig.invalid> - 2014-10-29 22:05 +0000
                Re: redesign exception boxzou@gmail.com - 2014-10-29 18:04 -0700
                Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-29 20:56 -0500
                Re: redesign exception boxzou@gmail.com - 2014-10-30 04:19 -0700
                Re: redesign exception boxzou@gmail.com - 2014-10-30 04:27 -0700
                Re: redesign exception boxzou@gmail.com - 2014-10-30 04:35 -0700
                Re: redesign exception boxzou@gmail.com - 2014-10-29 18:01 -0700
                Re: redesign exception boxzou@gmail.com - 2014-10-29 17:00 -0700
                Re: redesign exception boxzou@gmail.com - 2014-10-29 16:56 -0700
    Re: redesign exception boxzou@gmail.com - 2014-10-26 12:52 -0700
  Re: redesign exception Silvio <silvio@internet.com> - 2014-10-27 09:03 +0100
    Re: redesign exception boxzou@gmail.com - 2014-10-27 05:06 -0700
      Re: redesign exception Silvio <silvio@internet.com> - 2014-10-27 13:32 +0100
        Re: redesign exception boxzou@gmail.com - 2014-10-27 07:01 -0700

csiph-web