<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>"attila kelemen85" <attila.kelemen85@gmail.com><br><b>To: </b>"Alan Bateman" <alan.bateman@oracle.com><br><b>Cc: </b>"loom-dev" <loom-dev@openjdk.org><br><b>Sent: </b>Wednesday, December 24, 2025 12:54:59 PM<br><b>Subject: </b>Re: Rethinking Exceptions in the Context of Loom and 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 dir="ltr"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>InterruptedException is special, making it unchecked would make it
      more hazardous than it is already. This is because throwing
      InterruptedException clears the interrupted status. If you catch
      the exception then you must remember to reset the interrupted
      status when continuing without re-throwing the exception. This
      ensures that code that executes subsequently can also respond to
      the request to finish up.</div></blockquote><br><div>It would have been better if InterruptedException would be in its own unchecked hierarchy (i.e. not an `Exception`), but likely that would be too big of a breaking change now.</div></div></div></blockquote><div><br></div><div>Yes,</div><div>and I believe this is true for all checked exceptions,</div><div>the default behavior of an exception should be to be propagated, but with the current type system, there are cases where you can not propagate a checked exception,</div><div>so either we improve the type system in a backward compatible way or we make all checked exceptions unchecked.</div><div><br data-mce-bogus="1"></div><div>Weirdly, changing one exception from checked to unchecked is not backward compatible change but changing all checked exceptions to be unchecked is a backward compatible change.</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;"><div dir="ltr"><div class="gmail_quote gmail_quote_container"></div></div></blockquote><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 dir="ltr"><div class="gmail_quote gmail_quote_container"><br><div>Attila</div></div></div></blockquote><div><br></div><div>regards;</div><div>RĂ©mi</div></div></div></body></html>