RFR: 8275319 java.net.NetworkInterface throws java.lang.Error instead of SocketException [v4]
Daniel Jeliński
duke at openjdk.java.net
Tue Oct 19 09:32:19 UTC 2021
> Per Java documentation, "[Error](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/Error.java#L30) [..] indicates serious problems that a reasonable application should not try to catch". Failure to enumerate network interfaces or addresses is not a serious enough situation; many applications can recover from this pretty easily.
>
> All native methods (except `init()`) in [NetworkInterface](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/net/NetworkInterface.java#L436) are declared with `throws SocketException`, so throwing SocketExceptions instead of Errors will match the declared interface.
>
> Unix version of [NetworkInterface](https://github.com/openjdk/jdk/blob/master/src/java.base/unix/native/libnet/NetworkInterface.c#L1189) already throws `SocketException`s in similar situations, and does not throw `Error` under any circumstances.
>
> I searched the bug database and mail archives, but could not find any discussion on the topic; if there's a reason to keep throwing `Error`s, I couldn't find it.
>
> `tier1` tests pass, `java.net` tests pass. No new regression tests as I couldn't find any list of steps to reproduce the problem.
>
> I don't have write access to JBS. I could use some help with creating a ticket.
Daniel Jeliński has updated the pull request incrementally with one additional commit since the last revision:
Adapt line length to 80 column display
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/5956/files
- new: https://git.openjdk.java.net/jdk/pull/5956/files/a6c89e23..9e9ea0a2
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5956&range=03
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5956&range=02-03
Stats: 32 lines in 2 files changed: 17 ins; 0 del; 15 mod
Patch: https://git.openjdk.java.net/jdk/pull/5956.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5956/head:pull/5956
PR: https://git.openjdk.java.net/jdk/pull/5956
More information about the net-dev
mailing list