<p dir="ltr">On 12 Sep 2014 01:35, "Andrei Alexandrescu via Digitalmars-d" <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>> wrote:<br>
><br>
> Hello,<br>
><br>
><br>
> We are racking our brains to figure out what to do about exceptions thrown from C++ functions into D code that calls them.<br>
><br>
> A few levels of Nirvana would go like this:<br>
><br>
> 0. Undefined behavior - the only advantage to this is we're there already with no work :o).<br>
><br>
> 1. C++ exceptions may be caught only by C++ code on the call stack; D code does the stack unwinding appropriately (dtors, scope statements) but can't catch stuff.<br>
></p>
<p dir="ltr">Libunwind + handling foreign exceptions you can do this.  And is beneficial in that it works with any other languages that use libunwind, such as gccgo.</p>
<p dir="ltr">Iain</p>