Use C++ exception model in D
Jacob Carlborg
doob at me.com
Thu Apr 10 12:23:11 PDT 2014
On 2014-04-10 08:53, deadalnix wrote:
> The C++ personality function from GCC does not catch, but do the cleanup
> on foreign exceptions. That sound like the right behavior to me.
As far as I understand the cleaning is only a part of what personality
function does. The first thing it does is check if the thrown exception
can be handled. Like determine if it's a C++ exception or some other
exception. If I recall correctly, it also determines if and where to
resume unwinding, where to find catch blocks and so on.
This [1] series of blog posts gives a pretty good understanding of how
C++ exceptions work under the hood, for those that don't want to read
the ABI documentation.
[1] http://monoinfinito.wordpress.com/series/exception-handling-in-c/
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list