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