petdance/scratch — Issue #88: HLL exception handling
Author: petdance
Created: 2011-11-01 04:24:49+00:00
State: open

This TT replaces two tickets originally opened in the RT system: [http://rt.perl.org/rt3/Ticket/Display.html?id=36261 HLL exception handling] and [http://rt.perl.org/rt3/Ticket/Display.html?id=47966 pdd23 doesn't list exception;death as a standard exception]. I am combining the two and moving them to Trac at Tene's suggestion.

Original description (RT 36261) by Coke (probably from an older TODO file):[[BR]]
'''Document how HLL languages can implement their own exception hierarchy, and perhaps define how they can have parrot reformat their exception output for them.'''

Original description (RT 49766) by pmichaud:[[BR]]
'''In the list of "Standard Parrot Exceptions" in pdd23, there's no item given for "exception;death" even though it's mentioned as part of the "die" opcode earlier in the text. The same is true for the "exception;exit" type thrown by the exit opcode. Also, "die" and "exit" aren't listed in the "Opcodes that Throw Exceptions" section a bit later in pdd23.'''

In the latter RT, Klaus-Jan Stol subsequently contributed a documentation patch, but Patrick Michaud continued:

'''... how exactly does one use `exception;death`, `exception;exit`, and the other exception types from PIR? I see them mentioned throughout pdd23, but I've never actually seen an example of how these constants (are they constants?) might appear in actual code, whether it's PIR, C, or otherwise. The only "types" I'm aware of for exceptions are the severity values and exception type values in ''include/parrot/exceptions.h'' and ''runtime/parrot/include/except_*.pasm'', and none of these seem to have any real correspondence to the "exception types" given in pdd23.

Let's see if we can make some progress on these issues in the context of this ticket.

Thank you very much.

kid51