I agree with everything Dmitri said, but was thinking of something like this (for a base class in the Actions package), which may be what Laine is also suggesting:
public class DispatchExceptionAction extends Action { public ActionForward doPerform( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // Override this class instead of perform // and return ActionForwards in the // usual way; but use with the alternative // of ExceptionForwards instead of try catch return null; } public ActionForward perform( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { ActionForward forward = null; try { forward = doPerform(mapping,form,request,response); } catch (Exception e) { // Lookup exceptions here // and set forward // or .. throw new ServletException(e); } return forward; } Later on, I would like to build this deeper into the framework, but don't know how to manage the signature shift without breaking the installed base. Perhaps a job for Struts 2 ... which might include a signature updater ... I'd also like for us to commit a base exception class like the one Laine submitted, that also emulates the 1.4 chaining functionality, and any other goodies like the ones Dmitri mentioned (any chance of donating that?). Dmitri - also feel free to submit your other wishes as Bugzilla enhancements, so they do not get lost in the shuffle. -- Ted Husted, Husted dot Com, Fairport NY USA. -- Custom Software ~ Technical Services. -- Tel +1 716 737-3463 -- http://www.husted.com/struts/ -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>