+1

The overwhelming standard practice is to use a plausible exception type
(such as some form of IllegalArgumentException) with a message.




On Mon, Oct 21, 2013 at 5:24 PM, Phil Steitz <phil.ste...@gmail.com> wrote:

> I hate to open this can of worms again, but the following is just
> too painful for me to ignore.  From recent mods to
> BinomialConfidenceInterval javadoc:
>
>      * @throws NumberIsTooLargeException if {@code numberOfSuccesses
> > numberOfTrials}.
>
> The "NumberIsTooLarge" exception adds exactly zero to what would be
> more natural - just throw MathIAE.  Fortunately, the message is at
> least still there in the code:
>
> if (numberOfSuccesses > numberOfTrials) {
>             throw new
>
> NumberIsTooLargeException(LocalizedFormats.NUMBER_OF_SUCCESS_LARGER_THAN_POPULATION_SIZE,
>                                                 numberOfSuccesses,
> numberOfTrials, true);
>  }
>
> The "NumberIsTooLarge" is ridiculous.  What number?  Why isn't the
> second number "too small?"  If we really are going insist on
> defining and advertising lots of little subexceptions to MathIAE, we
> need to define appropriate ones, or just leave MathIAE.  My vote is
> to just allow throwing MathIAE with a descriptive message.  If we
> insist on adding subexceptions for everything, in this case, we need
> something like
>
> SubsetSizeException
>
> and in another set of changes that I am about to commit that will
> end up similarly mangled,  I will need
>
> InsufficientDataException
>
> I would like to get full community input on this topic for once and
> for all and either add a slew of new exceptions so what we throw is
> meaningful in the context of the caller, or just allow MathIAE to be
> thrown directly.
>
> So please all be brief and specify your preference for one of the
> two options below:
>
> 0) allow MathIAE to be thrown directly with an informative message
>
> 1) define caller-meaningful exceptions for situations such as
> insufficient data, invalid subset size, invalid probability, invalid
> interval, ...
>
> I would much prefer 0), but if consensus is 1), I will start adding
> exceptions so what we throw is meaningful and open a ticket to clean
> up for 4.0.
>
> Phil
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

Reply via email to