NAME
src/pmc/exceptionhandler.pmc - Exception Handler PMC
DESCRIPTION
When an exception handler is called,
the exception object is passed as REG_PMC(interp, 5)
,
the original contents of this register is in the exception object's _P5
attribute.
Methods
void init()
Initializes the exception handler.
void init_int(INTVAL)
Initializes the exception handler with one handled type.
void mark()
Mark any active exception handler data as live.
void set_integer_native(INTVAL)
Mark whether the handler has been invoked.
INTVAL get_integer()
Check whether the handler has been invoked.
opcode_t *invoke(void *next)
Set up the environment for the exception handler to be invoked.
Methods
METHOD can_handle(PMC *exception)
Report whether the exception handler can handle a particular type of exception.
METHOD min_severity(INTVAL severity :optional, INTVAL have_severity :opt_flag)
Set or get the minimum severity of the exception handler.
METHOD max_severity(INTVAL severity :optional, INTVAL have_severity :opt_flag)
Set or get the maximum severity of the exception handler.
METHOD handle_types(PMC *types :slurpy)
Set the exception types that the ExceptionHandler will handle.
METHOD handle_types_except(PMC *types :slurpy)
Set the exception types that the ExceptionHandler will not handle.