<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<br>
<br>
<div class="moz-cite-prefix">On 11/14/2022 11:33 AM, Archie Cobbs
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CANSoFxswst4Yxkim=wS2qm33xpO4nqyiP+b13xZAbNijnu2ZtA@mail.gmail.com">
<div dir="ltr"><br>
<div class="gmail_quote">
<div>I like checked exceptions also.</div>
</div>
</div>
</blockquote>
<br>
I think the replies here have proven my point. <br>
<br>
It's an easy opinion to say "checked exceptions were a failed
experiment" -- likely too-easy an opinion -- but people have a right
to their opinions. <br>
<br>
But even if one conceded this point, that doesn't mean "so back it
out" is a smart move. People have built up billions of lines of
code based on assumptions about how exceptions work; pulling the rug
out from under them has a real and pervasive cost. Banging the
"failed experiment" drum incorrectly assumes those costs away. <br>
<br>
But more importantly, the "failed experiment" crowd seems to take it
as an article of faith that everyone agrees with them, because there
are not protest rallies in the street chanting "Save Checked
Exceptions". But it did not take long to elicit a few well-reasoned
"I prefer the status quo" opinions. There are plenty of people who
think the status quo is fine, and that a radical change would be
worse, they're just not making a big deal about it, instead they're
getting work done. <br>
<br>
Yes, it is unfortunate that some early JDK APIs used checked
exceptions poorly, before we really understood what they were good
and bad for. And yes, its unfortunate that they have inconvenient
interactions with other language features, such as lambdas. <br>
<br>
Another aspect of the unhelpfulness of the "let's just kill them"
argument is that Nathan's modest request gets lost in the shuffle.
Nathan came with a reasonable request -- "can we have a few more
functional interfaces" -- and instead, someone used it as an excuse
to start a holy war and reasonable mitigations easily get lost along
the way. <br>
<br>
<br>
</body>
</html>