Because exceptions are slow, and can only handle one error at a time. The design as it is, allows for multiple action errors to be returned to a page for display. Exceptions should be for catastrophic errors that cause the system to barf. Having a blank password doesn't really fit within that framework. > The question is: Why doesn't ActionErrors extends > Throwable? Does it make sense to make a change in the > framework class org.apache.struts.action.ActionErrors > and make it throwable?