Women in Technology

Hear us Roar



Article:
  An Exception Handling Framework for J2EE Applications
Subject:   ?
Date:   2006-01-13 06:04:32
From:   namakemono
just use struts declarative exception handling, and either write your own exception handler or use the default one (making sure your log4j.properties log level is set to debug for the exceptionhandler class).


most of the advice in this article seems totally unnecessary due to cluelessness about existing facilities in struts for exception-handling.

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • ?
    2006-01-13 09:13:37  Shrik [View]

    There are reasons why we didn't (rather couldn't) use the Struts declaritive exception handling. First of all, as already mentioned in the article, discussed strategy can be applied anywhere irrespective of whether you are using Struts or any other presentation framework. It can be even used in standalone Java programs also without any changes. So, the target was to have an exception handling framework which could be used anywhere seamlessly. Other reason leads us to understand where to use and where not to use the Struts declaritive exception handling.

    Most of the time we would like to generate an ActionError and display it to the
    user instead of displaying an error page. Let us take an example:

    <struts-config>
    <global-exceptions>
    <exception
    key="xmlparse.error"
    type="org.expframework.exception.XmlParseException"
    path="/error.jsp"/>
    </global-exceptions>
    </struts-config>


    When XmlParseException is thrown, the user sees error.jsp. This makes sense since XmlParseException is a system exception and the only thing you can do is to ask the user to start all over again. However, it may not make sense to do so when NoRecordFoundException is thrown since this is an application exception from which the user has a recovery path. A better option is to show this as an ActionError and give the user a chance to change search criteria. For situations like this, you have to resort to programmatic
    exception handling. And that's what we are doing in the article.

    In this article we also discussed about context sensitive exceptions. We can have multiple messages for the same exception based on the context specified. I don't think if you could achieve the same using Struts based declaritive exception handling.