Ticket #858 (new todo)
HLL exception handling
|Reported by:||jkeenan||Owned by:||whiteknight|
This TT replaces two tickets originally opened in the RT system: HLL exception handling and 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):
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:
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.