On Sunday, 17 December 2017 at 08:10:06 UTC, codephantom wrote:
On Sunday, 17 December 2017 at 00:10:27 UTC, Anonymouse wrote:
If you return inside a scopeguard though, the exception (or error!) is swallowed. https://run.dlang.io/is/GEtQ6D

The scope guard will not 'swallow' it, if you use -release mode.

Which suggests to me, that assert(0) operates differently when 'not' using -release mode.

My 'guess' is, that release mode issues a halt instruction, whereas in non-release mode it is just an exception like any other exception.

Apologies. I chose assert(0) just to show that it catches Errors too, so just replace it with throw new Exception and it behaves the same without opening that can of worms.

Reply via email to