On Wednesday, 9 November 2016 at 09:49:08 UTC, Daniel N wrote:
On Tuesday, 8 November 2016 at 16:02:25 UTC, Manu wrote:
scope(failure) doesn't catch... how is that function nothrow?

Seems like you overlooked Anonymouse's comment? scope(failure) catches just fine.

scope(failure) return -1;
throw new Exception("failure");
return 0;

This will return -1, with no need for extra indentation.

I understand its convenience, but as long as it also catches Errors I'm not sure this is something you want to do though. You won't be able to differentiate between invalid input and bugs in the code, potentially continuing in an invalid state.

Subsetting failure into a scope(exception) would work, but I'm not sure how the interplay between them would work. Or are Errors so fatal that it should always immediately crash the program, ignored by scope(failure)?

Reply via email to