RFR(JDK11/NIO) 8205058 throw CharacterCodingException --> Re: RFR (JDK11/NIO) 8201276: (fs) Add methods to Files for reading/writing a string from/to a file
Joe Wang
huizhe.wang at oracle.com
Tue Jun 26 19:14:57 UTC 2018
Thanks Lance! Indeed it has been changed to CCE. I'm still
familiarizing myself with IntelliJ. Opened it in NetBeans, it clearly
indicates "missing @throws tag for " CCE, but I don't see anything like
that in IntelliJ.
Updated webrev:
http://cr.openjdk.java.net/~joehw/jdk11/8205058/webrev03/
-Joe
On 6/26/18, 11:24 AM, Lance Andersen wrote:
> Hi Joe,
>
> Should src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java
>
> —————
> /**
> * Constructs a new {@code String} by decoding the specified subarray of
> * bytes using the specified {@linkplain java.nio.charset.Charset charset}.
> *
> * The caller of this method shall relinquish and transfer the ownership of
> * the byte array to the callee since the later will not make a copy.
> *
> * @param bytes the byte array source
> * @param cs the Charset
> * @return the newly created string
> * @throws IllegalArgumentException for malformed or unmappable bytes
> */
> String newStringNoRepl(byte[] bytes, Charset cs) throws CharacterCodingException;
>
> ————————
> include an @throws for CharacterCodingException?
>
>
>> On Jun 26, 2018, at 1:41 PM, Joe Wang <huizhe.wang at oracle.com
>> <mailto:huizhe.wang at oracle.com>> wrote:
>>
>>
>>
>> On 6/26/18, 6:54 AM, Alan Bateman wrote:
>>> On 26/06/2018 05:50, Joe Wang wrote:
>>>> Hi Alan, Sherman,
>>>>
>>>> Here's a version where we, as Sherman suggested, throw an IAE with
>>>> CCE as the cause. This approach reduces code duplication in SC,
>>>> although it complicates the impl a little bit with the added
>>>> parameter and the different behavior between the existing usages of
>>>> the methods and the new ones. The existing code paths are kept
>>>> intact so there's no compatibility issue for the existing code.
>>>>
>>>> This version also did not remove the try-catch in Files as Alan
>>>> suggested earlier.
>>>>
>>>> http://cr.openjdk.java.net/~joehw/jdk11/8205058/webrev02/
>>>> <http://cr.openjdk.java.net/%7Ejoehw/jdk11/8205058/webrev02/>
>>> This version looks much better. In StringCoding, do you really need
>>> throwCCE? The encode/decode methods do a replace or throw so I
>>> assume one flag will do. If combined with Sherman suggestion then it
>>> would be minimal changes to StringCoding. It would be nice to get
>>> rid of the IAE completely but that is for another day. In Files then
>>> you don't need to check if cause is null before testing its type.
>>
>> Yes, combined with Sherman's suggestion eliminated the need for the
>> new parameter. Here's the updated webrev:
>> http://cr.openjdk.java.net/~joehw/jdk11/8205058/webrev03/
>> <http://cr.openjdk.java.net/%7Ejoehw/jdk11/8205058/webrev03/>
>>>
>>> The update tests to check for UnmappedCharacterException and
>>> MalformedInputException look good.
>>
>> Thanks,
>> Joe
>>
>>>
>>> -Alan
>
> <http://oracle.com/us/design/oracle-email-sig-198324.gif>
> <http://oracle.com/us/design/oracle-email-sig-198324.gif><http://oracle.com/us/design/oracle-email-sig-198324.gif>
> <http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance
> Andersen| Principal Member of Technical Staff | +1.781.442.2037
> Oracle Java Engineering
> 1 Network Drive
> Burlington, MA 01803
> Lance.Andersen at oracle.com <mailto:Lance.Andersen at oracle.com>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20180626/24d11e3f/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 658 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20180626/24d11e3f/attachment-0001.gif>
More information about the nio-dev
mailing list