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