RFR: 8375016: Several catch blocks for NullPointerExceptions exist in the codebase
Michael Strauß
mstrauss at openjdk.org
Mon Jan 12 17:03:30 UTC 2026
On Mon, 12 Jan 2026 14:11:48 GMT, Christopher Schnick <duke at openjdk.org> wrote:
> This PR replaces various catch blocks for NPEs by proper null checks. It looks like a lot but most of the binding changes are just variants of the same approach. The test cases have been adapted to not check for NPEs anymore.
>
> The PrismFontFactory change to a RuntimeException was made because I don't see how the try block can throw an NPE.
modules/javafx.base/src/main/java/javafx/beans/binding/Bindings.java line 7478:
> 7476: return val;
> 7477: } else {
> 7478: Logging.getLogger().fine("Element not found in map, returning default value instead.");
Why did you add this check? The old implementation doesn't check whether the mapping exists, it simply returns the result of `Map.get()`.
On the other hand, `NullPointerException` is thrown by `Map.get()` if the key is null, and the map doesn't permit null keys. The old implementation would return null here end emit a warning, this implementation returns by throwing the exception.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/2032#discussion_r2683060660
More information about the openjfx-dev
mailing list