The core of exception handling from Solder is around exception handler methods. These are simple, usually stateless methods that handle a particular type of exception (concrete type or super type). Information about them can be found at http://docs.jboss.org/seam/3/3.1.0.Final/reference/en-US/html/catch-client_usage.html#client_usage.handlers
In Solder these live on an annotated type with a marker annotation (@HandlesExceptions) to speed processing. Handler methods are denoted by an annotation @Handles. They behave similar to observers in CDI. Each argument after the first is an injection point and resolved before calling the method.
Exception handler methods can also be ordered in a consistent deterministic way. based on the hierarchy of the exception being handled, and if needed by an ordinal number (used only if multiple handlers apply for the same exception and same traversal type).
Handlers are called in one of two traversals of the exception chain. Either during a depth first search for handlers or a breadth first search. This search looks at the type of exception being handled by the handlers.