Catching C++ std::exception in D
Walter Bright via Digitalmars-d
digitalmars-d at puremagic.com
Thu Nov 12 02:13:09 PST 2015
On 11/12/2015 2:08 AM, Iain Buclaw via Digitalmars-d wrote:
> Writing the druntime end of things, which is really providing just two
> functions: d_throw (d_dwarf_throw to distinguish it) and the libunwind
> personality function: __dmd_personality_v0. The tricky part with the
> personality function will likely be recognizing std::exception* exceptions.
> I wonder if forwarding the call to __gxx_personality_v0 will work.
> I'll have to check, but I'm pretty certain that libunwind will call the C++
> personality for you if you return `nothing found` from D personality function.
Why should it? What tells libunwind to call the C++ personality function? The
generated EH tables only say call the D personality function.
More information about the Digitalmars-d