ExceptionHeader

A D exception object consists of a header, which is a wrapper around an unwind object header with additional D specific information, prefixed by the exception object itself.

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.

restore
void restore(_Unwind_Exception* unwindHeader, int handler, const(ubyte)* lsda, _Unwind_Ptr landingPad, _Unwind_Word cfa)

Restore the catch handler data saved during phase1.

save
void save(_Unwind_Exception* unwindHeader, _Unwind_Word cfa, int handler, const(ubyte)* lsda, _Unwind_Ptr landingPad)

Save stage1 handler information in the exception object.

toExceptionHeader
ExceptionHeader* toExceptionHeader(_Unwind_Exception* exc)

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

Static variables

ehstorage
ExceptionHeader ehstorage;
Undocumented in source.
stack
ExceptionHeader* stack;
Undocumented in source.

Variables

canonicalFrameAddress
_Unwind_Word canonicalFrameAddress;
Undocumented in source.
handler
int handler;
Undocumented in source.
landingPad
_Unwind_Ptr landingPad;
Undocumented in source.
languageSpecificData
const(ubyte)* languageSpecificData;
Undocumented in source.
next
ExceptionHeader* next;
Undocumented in source.
object
Throwable object;
Undocumented in source.
pad
ubyte[_Unwind_Exception.alignof - Throwable.alignof] pad;
Undocumented in source.
unwindHeader
_Unwind_Exception unwindHeader;
Undocumented in source.

Meta