On 5 January 2016 at 17:24, Walter Bright via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
On 1/5/2016 1:17 AM, Iain Buclaw via Digitalmars-d wrote:
Catching from any foreign language that interacts with the same EH interface
should be easy.  Just bear in mind that each language may put the thrown object
proper in a different place.

Doing unwinding in D frames when foreign exceptions are in-flight is easy, because no knowledge of those FEs is required.

Catching them, however, requires detailed knowledge of exactly how they work. This is not so easy. Catching C++ exceptions in D code will require some careful study and work, and that work will not be transferable to other FEs.

But since there seems to be 0 demand for catching other FEs, or even interfacing D to other languages, this shouldn't be a problem.


I gave a very abridged example here:

http://forum.dlang.org/post/mailman.2091.1447287382.22025.digitalmars-d@puremagic.com

Referenced unwind-cxx.h is found in a github mirror:

https://github.com/gcc-mirror/gcc/blob/1e9147dd7b41b6e32c25501b50df73e74b75387f/libstdc%2B%2B-v3/libsupc%2B%2B/unwind-cxx.h#L58-L98