Ticket #858 (new todo)

Opened 5 years ago

Last modified 4 years ago

HLL exception handling

Reported by: jkeenan Owned by: whiteknight
Priority: minor Milestone:
Component: core Version: master
Severity: low Keywords:
Cc: Language:
Patch status: Platform: all

Description

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.

kid51

Change History

Changed 4 years ago by whiteknight

  • priority changed from normal to minor
  • platform set to all
  • version changed from 1.3.0 to master
  • severity changed from medium to low
  • owner changed from tene to whiteknight
Note: See TracTickets for help on using tickets.