<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div><br></div><div><br></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Alan Bateman" <alan.bateman@oracle.com><br><b>To: </b>"David Alayachew" <davidalayachew@gmail.com>, "loom-dev" <loom-dev@openjdk.org><br><b>Sent: </b>Friday, August 1, 2025 10:28:04 AM<br><b>Subject: </b>Re: Bikeshedding Structured Concurrency<br></blockquote></div><div data-marker="__QUOTED_TEXT__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><div class="moz-cite-prefix">On 01/08/2025 06:05, David Alayachew
wrote:<br>
</div>
<blockquote cite="mid:CAA9v-_P1kTd9RxqieXkfG-DjX60m5Oga--=7LjZ7L3LnUX5O=A@mail.gmail.com">
<div dir="ltr">
<div class="gmail_default" style="font-family:monospace">Hello <a class="gmail_plusreply" id="plusReplyChip-0" href="mailto:loom-dev@openjdk.org" tabindex="-1" target="_blank">@loom-dev</a>,</div>
<div class="gmail_default" style="font-family:monospace"><br>
</div>
<div class="gmail_default" style="font-family:monospace">I have
been enjoying the Structured Concurrency JEP's as they have
come, and I am excited to try the JDK 25 variant with all the
new changes with Joiner.</div>
<div class="gmail_default" style="font-family:monospace"><br>
</div>
<div class="gmail_default" style="font-family:monospace">I have
a bikeshed request.</div>
<div class="gmail_default" style="font-family:monospace"><br>
</div>
<div class="gmail_default" style="font-family:monospace">For
Subtask, can we change the method name from exception() to
throwable()? It more accurately describes what is happening.</div>
<br>
</div>
</blockquote>
<br>
In j.u.concurrent there is
CompletableFuture.completeExceptionally(Throwable)/obtrudeException(Throwable),
SubmissionPublisher.closeExceptionally(Throwable),
ForkJoinTask.getException and Future.exceptionNow() returning a
Throwable, and a few more.</blockquote><div><br></div><div>yes, also Future.exceptionNow().</div><div><br data-mce-bogus="1"></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><br>
<br>
The main use of Subtask::exception will be a custom Joiner's
onComplete implementation where handles the exception or error when
the subtask fails. There is an argument that fork should be void or
just return a Supplier (Subtask extends Supplier) but there hasn't
been enough feedback from real-world usage to help that discussion.<br>
<br>
-Alan<br></blockquote><div><br></div><div>Rémi</div><div><br data-mce-bogus="1"></div></div></div></body></html>