Well, this one is going to face that same risk
The difference would be that people who have used it correctly get to keep using it, whereas this proposal even breaks them.
As Guido mentioned earlier, it’s more about composability than usefulness. There’s always another way to do it, and the recent trend of languages is to be more controlling of the developer, so I’d totally not expect any new language to do it.
Any block of code can be exited early by control flow. This rule applies everywhere, for better or worse, and consistently. The only case being addressed here is a conflict between two early exits, and it seems we chose the wrong priority at some point. That’s a solid argument for fixing the prioritisation (that is, a raised exception should win over break/continue/return), but IMHO a weak argument for making a finally block into a special kind of code block that doesn’t support basic control flow.
(I do recognise there are limits to this argument, but it ultimately comes down to how easy it is to explain and understand what’s happening. I’m totally okay with restricting yield and await in certain places, since those are hard enough to explain already. I’m not convinced that break/continue/return are so hard.)