
src/pmc/exceptionhandler.pmc - Exception Handler PMC

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.
void init()Initializes the exception handler.
void init_int(INTVAL)Initializes the exception handler with one handled type.
void init_pmc(PMC)Initializes the exception handler with one handled type. If the argument is a key, intitialize it with the key contents.
void mark()Mark any active exception handler data as live.
PMC * get_attr_str(STRING *attr)Get the value of an attribute by name
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.
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.