Detecting exception unwinding

cy via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Feb 5 22:08:41 PST 2016


On Friday, 5 February 2016 at 08:16:05 UTC, Ola Fosheim Grøstad 
wrote:
> If you can test for "uncaught_exceptions" you can implement the 
> equivalent of scope(failure/success) etc within destructors.

Sorry, years of python programming have made me shy of 
destructors. It just looks a little less "magic" to me if I 
specify the destruction explicitly after creating the object, 
using the "scope(exit)" syntax. "scope(success)" and 
"scope(failure)" have no analogy in destructors as far as I know. 
Destructors just destroy the object, and doing more than that is 
risking weird edge conditions.

But again, if you already have your elaborate destructor, you can 
set "o.fail = true" in a "scope(failure)" statement, and the 
destructor just has to check this.fail for how it's being 
destroyed..


More information about the Digitalmars-d-learn mailing list