+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 > >