On Friday, 12 September 2014 at 00:34:52 UTC, Andrei Alexandrescu wrote:
Hello,

We are racking our brains to figure out what to do about exceptions thrown from C++ functions into D code that calls them.

A few levels of Nirvana would go like this:

0. Undefined behavior - the only advantage to this is we're there already with no work :o).

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.


This is what SDC does.

2. D code can catch exceptions from C++ (e.g. via a CppException wrapper class) and give some info on them, e.g. the what() string if any.


This would require that druntime to be dependent on C++ runtime.

Reply via email to