ExceptionHeader

Wrap the unwinder's data with our own compiler specific struct with our own data.

version(Posix)
struct ExceptionHeader {
Throwable object;
_Unwind_Exception exception_object;
int handler;
const(ubyte)* languageSpecificData;
_Unwind_Ptr landingPad;
ExceptionHeader* next;
static
ExceptionHeader* stack;
static
ExceptionHeader ehstorage;
}

Members

Functions

push
void push()

Push this onto stack of chained exceptions.

Static functions

create
ExceptionHeader* create(Throwable o)

Allocate and initialize an ExceptionHeader.

free
void free(ExceptionHeader* eh)

Free ExceptionHeader that was created by create().

pop
ExceptionHeader* pop()

Pop and return top of chained exception stack.

toExceptionHeader
ExceptionHeader* toExceptionHeader(_Unwind_Exception* eo)

Convert from pointer to exception_object to pointer to ExceptionHeader that it is embedded inside of.

Meta