Kurchi,
Please have an additional reviewer for the networking portion of this,
but in doing a quick look, I believe the point of the two catches is to
make sure that any IOException that isn't already a SocketException
(SocketException is a subclass of IOException) is rebranded to
SocketException.
If these internal methods are guaranteed to only throw SocketExeptions
(and it looks like it), then you can simplify this code to:
public DatagramSocket() throws SocketException {
createImpl();
bind(new InetSocketAddress(0));
}
bind throws SocketException, InetSocketAddress(int) only throws a IAE (a
RuntimeException).
Brad
On 7/21/2011 3:05 PM, Kurchi Hazra wrote:
Hi,
Due to a recent update in javac to issue a warning on detecting
unreachable code, the following warning started showing up in the jdk
networking code:
../../../src/share/classes/java/net/DatagramSocket.java:183: warning:
unreachable catch clause.
This fix aims at removing this warning by removing the IOException. On
inspection, it was found that currently, the native code does not throw
any IOException.
The fix involves updates in:
jdk/src/share/classes/java/net/DatagramSocket.java
Webrev: http://cr.openjdk.java.net/~chegar/7035556/webrev.00/
Thanks,
-Kurchi