Uploaded image for project: 'Solder'
  1. Solder
  2. SOLDER-180

untangle processing of exceptions in stack

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Done
    • None
    • 3.0.0.Beta1
    • Core
    • None
    • Medium

    Description

      Currently, the exceptions in the stack are being handled in tandem. All the breadth-first type visiting is happening for each exception in the stack, then all the depth-first type visiting is happening. Each exception should be processed in turn.

      Consider this case:

      The following exception chain is thrown: E1 -> E2 -> E3 (where "X -> Y" means X is caused by Y). Also, E3S is a superclass of E3. Let's assume there are handlers for all four exception types for both traversal modes (breadth-first and depth-first).

      The expected order of execution is as follows:

      E3S handler in the breadth-first traversal mode
      E3 handler in the breadth-first traversal mode
      E3 handler in the depth-first traversal mode
      E3S handler in the depth-first traversal mode

      E2 handler in the breadth-first traversal mode
      E2 handler in the depth-first traversal mode

      E1 handler in the breadth-first traversal mode
      E1 handler in the depth-first traversal mode

      We process the exceptions in the stack in the order E3, E2, E1 because we assume the cause, E3 is the most important exception.

      Attachments

        Issue Links

          Activity

            People

              jporter@redhat.com Jason Porter
              dan.j.allen Dan Allen (Inactive)
              Archiver:
              samahaja@redhat.com Sagar Mahajan

              Dates

                Created:
                Updated:
                Resolved:
                Archived: