Comment by o11c

6 days ago

What about throwing an exception from the finally clause?

This loops, if that's what you're asking:

    while (true)
    {
        try
        {
            try { return; }
            finally { throw new Exception(); }
        }
        catch { }
    }

Yes that is the one exception (heh) to the rule unfortunately. You can throw from anywhere so it must support unwinding from any point. So if you were really intent on abusing the finally you could wrap the try-finally in a try-catch and then throw from the finally and put your continue in the catch.