On Mon, 5 Oct 2020 22:23:56 GMT, Ian Graves <igra...@openjdk.org> wrote:
> The `java.util.Formatter` format specifies support for field widths, argument > indexes, or precision lengths of a field > that relate to the variadic arguments supplied to the formatter. These > numbers are specified by integers, sometimes > negative. For argument index, it's specified in the documentation that the > highest allowed argument is limited by the > largest possible index of an array (ie the largest possible variadic index), > but for the other two it's not defined. > Moreover, what happens when a number field in a string is too large or too > small to be represented by a 32-bit integer > type is not defined. This fix adds documentation to specify what error > behavior occurs during these cases. > Additionally it adds an additional exception type to throw when an invalid > argument index is observed. A CSR will be > required for this PR. Is the new exception type useful? yes, it matches the previous pattern. But it (and none of the IllegalFormatException subclasses) produce a readable message with the offending value. So the developer will not see anything useful. The fine grained exceptions provide little value. ------------- PR: https://git.openjdk.java.net/jdk/pull/516