RFR 8158023: SocketExceptions contain too little information sometimes

Paul Benedict pbenedict at apache.org
Wed Jun 8 17:25:51 UTC 2016


Since the "more detail" may not be present in all exceptions, can you
please consider placing the usual Java message first and any additional
details second?

Instead of:
java.net.SocketException: ioctl SIOCGSIZIFCONF failed: Bad file number

Perhaps:
java.net.SocketException: Bad file number (ioctl SIOCGSIZIFCONF failed)

I don't particularly care if parentheses are used or another colon. I am
merely demonstrating. Thanks.

Cheers,
Paul

On Tue, Jun 7, 2016 at 7:51 PM, Kenji Kazumura <kzr at jp.fujitsu.com> wrote:

> Christoph,
>
> You should not remove conversion codes (platform string to Java String)
> at JNU_ThrowByNameWithLastError,
> and you have to add conversion codes at
> JNU_ThrowByNameWithMessageAndLastError.
>
> It seems that you assume strerror returns only ascii characters, but
> actually not.
> It depends on the locale of your environment where java programs runs.
>
>
> -Kenji Kazumura
>
>
> In message <decc19cdab854bbeac7126cb8e236f1e at DEWDFE13DE11.global.corp.sap>
>    RFR 8158023: SocketExceptions contain too little information sometimes
>    "Langer, Christoph" <christoph.langer at sap.com> wrote:
>
> > Hi all,
> >
> > please review the following change:
> > Webrev: http://cr.openjdk.java.net/~clanger/webrevs/8158023.1/
> > Bug: https://bugs.openjdk.java.net/browse/JDK-8158023
> >
> > During error analysis I stumbled over a place where I encountered a
> SocketException which was thrown along with some strerror information as
> message. I found it hard to find the originating code spot with that
> information.
> >
> > So I looked at the places where we throw exceptions, namely JNU_Throw...
> and NET_Throw... functions and came up with the following enhancement:
> > - NET_ThrowByNameWithLastError can go completely as it does not provide
> any benefit over JNU_ThrowByNameWithLastError.
> > - JNU_ThrowByNameWithLastError can be cleaned up.
> >
> > - I added JNU_ThrowByNameWithMessageAndLastError to print out a string
> like message + ": " + last error.
> >
> > - I went over all places where NET_ThrowByNameWithLastError is used and
> replaced it appropriately.
> >
> > Do you think this change is desirable/possible?
> >
> > Though it's mainly a net topic, I'm posting it to nio-dev and
> core-libs-dev as well as JNU_Throw... code affects all.
> >
> > Best regards
> > Christoph
> >
>


More information about the core-libs-dev mailing list