On Thu, 21 Aug 2025 09:43:47 GMT, Volkan Yazici <[email protected]> wrote:

> Improves exception handling of built-in `HttpClient.BodyPublisher`s to ensure 
> exceptions get propagated in a way compliant with the reactive specification.

I don't think we need to add new `throws Exception` declarations if the 
existing code does not need it.

src/java.net.http/share/classes/jdk/internal/net/http/PullPublisher.java line 
47:

> 45: 
> 46:     PullPublisher(CheckedIterable<T> iterable, Throwable throwable) {
> 47:         if ((iterable == null && throwable == null) || (iterable != null 
> && throwable != null)) {

You can express this as `((iterable == null) == (throwable == null))` for 
simplicity.

src/java.net.http/share/classes/jdk/internal/net/http/PullPublisher.java line 
49:

> 47:         if ((iterable == null && throwable == null) || (iterable != null 
> && throwable != null)) {
> 48:             String message = String.format(
> 49:                     "only one of `iterable` or `throwable` can be null, 
> but %s are",

"only one of xxx can be null" sounds like you allow both to be non-null, but 
that is not the case. Maybe use other wording like "one argument should be null 
and the other should be non-null, but both are null/non-null"?

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

PR Review: https://git.openjdk.org/jdk/pull/26876#pullrequestreview-3141492419
PR Review Comment: https://git.openjdk.org/jdk/pull/26876#discussion_r2291597776
PR Review Comment: https://git.openjdk.org/jdk/pull/26876#discussion_r2291628366

Reply via email to