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.