<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>