On Sun, 10 Oct 2021 20:25:43 GMT, Joe Darcy <da...@openjdk.org> wrote:

> The java.io.ObjectInputStream and java.io.ObjectOuputStream classes are part 
> of the serialization feature. These classes contain brief descriptions of 
> some of the methods serializable classes can define to interact with the 
> serialization mechanism, readObject, readObjectNoData, and writeObject. These 
> descriptions are not entirely consistent with one another and at least one is 
> arguably misleading.
> 
> This PR makes the brief discussion the same in both classes and addresses the 
> misleading point: the throws clauses of the methods will not effect whether 
> or not the methods are found by serialization, but throwing unchecked 
> exceptions not declared in the standard signatures is ill-advised. (The 
> current implementation looks up the methods by name using core reflection; 
> the method modifiers are checked to match but the throws information is not.)
> 
> Please also review the corresponding CSR : 
> https://bugs.openjdk.java.net/browse/JDK-8275014

src/java.base/share/classes/java/io/ObjectOutputStream.java line 105:

> 103:  * declared to throw checked exceptions consistent with these
> 104:  * signatures.
> 105:  *

Why the mix of 'should' vs 'must' in this paragraph? The change above 
downgrades a 'must' to a 'should'.
The original text and the java serialization spec use 'must'.  Other JDK doc 
uses 'should' as being more readable but is supposed to mean 'must'.

-------------

PR: https://git.openjdk.java.net/jdk/pull/5883

Reply via email to