On Fri, 29 Sep 2023 18:51:07 GMT, Shaojin Wen <[email protected]> wrote:
>> Raffaello Giulietti has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Uppercase JLA.
>
> src/java.base/share/classes/jdk/internal/math/FloatToDecimal.java line 508:
>
>> 506: try {
>> 507: return JLA.newStringNoRepl(bytes,
>> StandardCharsets.ISO_8859_1);
>> 508: } catch (CharacterCodingException e) {
>
> I want to know why newStringNoRepl throws CharacterCodingException instead of
> IllegalArgumentException. The place where I use it is forced to write
> redundant try_catch code.
`newStringNoRepl` is originally intended to decode byte and throw an exception
instead of putting a `?` when there is encoding error. By chance, it does not
copy the input array if the input array is compatible as backing storage. As a
result, we use it as "avoid copying" which has deviated from its initial
purpose.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15861#discussion_r1870634083