On Thu, 14 Oct 2021 17:29:16 GMT, Daniel Jeliński <d...@openjdk.java.net> wrote:

> 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.

This pull request has now been integrated.

Changeset: 043cde22
Author:    Daniel Jelinski <djelins...@gmail.com>
Committer: Daniel Fuchs <dfu...@openjdk.org>
URL:       
https://git.openjdk.java.net/jdk/commit/043cde22d4d6bd975e75daa9ad52770cf79df934
Stats:     74 lines in 2 files changed: 23 ins; 0 del; 51 mod

8275319: java.net.NetworkInterface throws java.lang.Error instead of 
SocketException

Reviewed-by: alanb, dfuchs

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

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

Reply via email to