Details
-
Type:
Task
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 3.0.0.Beta1
-
Component/s: Core
-
Labels:None
-
Estimated Difficulty: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.
Gliffy Diagrams
Issue Links
- incorporates
-
SOLDER-171
Descending traversal path not working as expected
-
- Closed
-
- is related to
-
SOLDER-176
change terminology for exception type hierarchy traversal
-
- Closed
-
Activity
- All
- Comments
- Work Log
- History
- Activity
- Links Hierarchy