On 11/18/13 9:00 AM, Daniel Murphy wrote:
void fun() nothrow
{
    scope(failure) {}
    throw new Exception("so sue me");
}


Yes, obviously a bug.  The compiler is missing the rethrow.

https://d.puremagic.com/issues/show_bug.cgi?id=11542

My point was only that try-catch(Exception) and scope(failure) do not have
the same semantics.

Now I got it, thanks. Far as I can tell in this case it doesn't make a big difference, is that correct?

a) with try/catch: Exceptions are transformed in AssertError, Errors just go through

b) with scope(failure): everything is transformed in AssertError.

There is a difference, but both behaviors would be acceptable.


Andrei


Reply via email to