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 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.
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.
