RFR: 8292016: Cleanup legacy error reporting in the JDK outside of HotSpot [v35]

David Holmes dholmes at openjdk.org
Tue Oct 4 05:47:58 UTC 2022


On Mon, 3 Oct 2022 13:37:38 GMT, Julian Waters <jwaters at openjdk.org> wrote:

>> A large section of error reporting code in the JDK does not properly handle WIN32 API errors and instead mixes them with errors originating from C. Since they can be rather easily replaced and coming up with an elegant solution proved to be too much of a hassle to be worth it, and some of the concerns they address no longer are an issue with current versions of the platforms supported by the JDK, they can be easily removed without much effect. The remaining utilities that are still needed now instead report directly from strerror, with a new subsystem for WIN32 errors put in place wherever required, to minimize confusion when they are used, which was a problem with earlier solutions to this issue.
>
> Julian Waters has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Naming

> JNU_ThrowByNameWithStrerror
> JNU_ThrowByNamePerror
> JNU_ThrowIOExceptionWithIOError

The problem with this kind of naming is that the user of the API for which these functions are then called, should not have to know anything about the origins of the actual error code/string. The call-sites really do want to say `ThrowXXXWithLastError`.

Maybe I'm wrong to believe that they can be ignorant of the the details but the level of abstraction seems wrong to me.

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

PR: https://git.openjdk.org/jdk/pull/9870


More information about the core-libs-dev mailing list