[seam-issues] [JBoss JIRA] Resolved: (SEAMCATCH-31) change terminology for exception type hierarchy traversal
Jason Porter (JIRA)
jira-events at lists.jboss.org
Mon Dec 27 10:22:18 EST 2010
[ https://issues.jboss.org/browse/SEAMCATCH-31?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Porter resolved SEAMCATCH-31.
-----------------------------------
Resolution: Done
> change terminology for exception type hierarchy traversal
> ---------------------------------------------------------
>
> Key: SEAMCATCH-31
> URL: https://issues.jboss.org/browse/SEAMCATCH-31
> Project: Seam Catch
> Issue Type: Feature Request
> Components: Core API
> Affects Versions: 3.0.0.Alpha2
> Reporter: Dan Allen
> Assignee: Jason Porter
> Fix For: 3.0.0.Alpha4
>
>
> There appears to be some confusion about what the traversal path means. We've come up with some better terms that should help users understand how to use it.
> When one of the exceptions in the stack trace is being handled, the handlers for that exception are notified in a particular order. That order is based on the type hierarchy of the exception. The traversal seeks to address this scenario:
> Assume that a group of exceptions have a common super class. You may choose to write a handler that catches all of those exceptions by handling that super type. We'll call that a category handler, where the super class represents a category (i.e., SQLException) So the question you have to ask yourself, then, is:
> Do you want your category handler to be notified before or after the handler for the subtype gets notified?
> You specify you want the category handler to be notified before by adding the attribute during = TraversalPath.DESCENDING to the @Handles exception.
> However, this descending/ascending isn't catching on. Tree traversal is more commonly referred to using the terms breadth-first or depth-first. Catch notifies breadth-first handlers before depth-first handlers, in the order of the tree traversal (walking the exception type hierarchy).
> Therefore, these attribute values would make more sense:
> during = TraversalMode.BREADTH_FIRST
> during = TraversalMode.DEPTH_FIRST (default)
> If you write a SQLException handler with during = TraversalMode.BREADTH_FIRST, then it will be notified before a handler for BatchUpdateException.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list