On Friday, 22 November 2013 at 01:49:11 UTC, Shammah Chancellor wrote:
On 2013-11-18 06:32:46 +0000, Andrei Alexandrescu said:

1. Fix scope(failure) and then use it.

Andrei

Huh? Scope failure has no purpose here. It does not CATCH the exception and prevent it from bubbling up the call chain. Try/catch does do this.

-Shammah

If the code is:

    scope(failure) assert(0);

Then it is a statement that the function doesn't throw. So there isn't a need to catch the exception, it is merely a way to state to the compiler "I've verified I know what I'm talking about and this function really doesn't ever throw."

Right now just having scope(failure) in the body is making this statement, and that is wrong.

Reply via email to