On Tuesday, 2 April 2013 at 12:18:00 UTC, Andrej Mitrovic wrote:
On 4/1/13, Walter Bright <newshou...@digitalmars.com> wrote:
On 4/1/2013 4:08 AM, Lars T. Kyllingstad wrote:
It's time to clean up this mess.


As for why finally blocks are not executed for Error exceptions

They seem to be executed:

void main()
{
    try
    {
        throw new Error("");
    }
    finally
    {
        assert(0);
    }
}

This will throw an AssertError.

The spec makes no such guarantee, DMD just doesn't bother to not execute it. It is one of the many things which will break code when DMD decides to follow the spec.

Reply via email to