<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Parrot - Exception Handler PMC</title> <link rel="stylesheet" type="text/css" href="../../../resources/parrot.css" media="all"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div id="wrapper"> <div id="header"> <a href="http://www.parrot.org"> <img border=0 src="../../../resources/parrot_logo.png" id="logo" alt="parrot"> </a> </div> <!-- "header" --> <div id="divider"></div> <div id="mainbody"> <div id="breadcrumb"> <a href="../../../html/index.html">Home</a> » <a href="../../../html/pmc.html">PMCs</a> » Exception Handler PMC </div> <h1><a name="NAME" >NAME</a></h1> <p>src/pmc/exceptionhandler.pmc - Exception Handler PMC</p> <h1><a name="DESCRIPTION" >DESCRIPTION</a></h1> <p>When an exception handler is called, the exception object is passed as <code>REG_PMC(interp, 5)</code>, the original contents of this register is in the exception object's <code>_P5</code> attribute.</p> <h2><a name="Methods" >Methods</a></h2> <dl> <dt><a name="void_init()" ><b><code>void init()</b></code></a></dt> Initializes the exception handler. <dt><a name="void_mark()" ><b><code>void mark()</b></code></a></dt> Mark any active exception handler data as live. <dt><a name="void_set_integer_native(INTVAL)" ><b><code>void set_integer_native(INTVAL)</b></code></a></dt> Mark whether the handler has been invoked. <dt><a name="INTVAL_get_integer()" ><b><code>INTVAL get_integer()</b></code></a></dt> Check whether the handler has been invoked. <dt><a name="opcode_t_*invoke(void_*next)" ><b><code>opcode_t *invoke(void *next)</b></code></a></dt> Set up the environment for the exception handler to be invoked.</dl> <h2><a name="Methods" >Methods</a></h2> <dl> <dt><a name="METHOD_can_handle(PMC_*exception)" ><b><code>METHOD can_handle(PMC *exception)</b></code></a></dt> Report whether the exception handler can handle a particular type of exception. <dt><a name="METHOD_min_severity(INTVAL_severity_:optional,_INTVAL_have_severity_:opt_flag)" ><b><code>METHOD min_severity(INTVAL severity :optional, INTVAL have_severity :opt_flag)</b></code></a></dt> Set or get the minimum severity of the exception handler. <dt><a name="METHOD_max_severity(INTVAL_severity_:optional,_INTVAL_have_severity_:opt_flag)" ><b><code>METHOD max_severity(INTVAL severity :optional, INTVAL have_severity :opt_flag)</b></code></a></dt> Set or get the maximum severity of the exception handler. <dt><a name="METHOD_handle_types(PMC_*types_:slurpy)" ><b><code>METHOD handle_types(PMC *types :slurpy)</b></code></a></dt> Set the exception types that the ExceptionHandler will handle. <dt><a name="METHOD_handle_types_except(PMC_*types_:slurpy)" ><b><code>METHOD handle_types_except(PMC *types :slurpy)</b></code></a></dt> Set the exception types that the ExceptionHandler will not handle.</dl> </div> <!-- "mainbody" --> <div id="divider"></div> <div id="footer"> Copyright © 2002-2009, Parrot Foundation. </div> </div> <!-- "wrapper" --> </body> </html>