We've developed a pretty eloborate exception handling framework on my 
current project. We're using EJB on the backend, so
we must also deal with remote type exceptions. First we catorgize 
exceptions into those that the user can recover from and those that they 
can't. Sort of like fatal and non-fatal. You also need to divide exceptions 
into system and application exceptions. System exceptions are ones like 
remote exception, or maybe some type of datastore exception. Application 
exceptions for us are ones like required fields were missing or duplicate 
values for a unique column. In our world, the same exception framework has 
to work for ERP systems, so it's not just the web container.

Anyway, for those exceptions that the user can recover from like "required 
fields missing", we catch those type of exceptions, create an ActionError 
with a message from the bundle specifically for that exception, and then 
forward back to the input page. This gives the user a chance to fix the 
problem and resubmit. For the more severe exceptions, we also catch those 
and forward to a "system-error" type page since there's probably nothing 
you can do about it anyway. We use an abstract base action that all of our 
actions extend. We have all of this behavior in the base action and none of 
the action classes have to worry about catching these exceptions. The 
abstract base action implements the perform and has an abstract doWork type 
method. The doWork method is wrapped with the try catch blocks. Each 
concreate action class implements the doWork and doesn't have to worry 
about the try catch.

I hope that gives you some ideas.

chuck

p.s. Regarding your other post about using System.out in your action 
classes; I wouldn't recommend that approach. Use log4j instead. That way, 
you can shut off the debug logging externally by just editing the 
log4j.properties file.

At 09:50 AM 1/28/2002 -0200, you wrote:
>Could somebody help me ?
>
>I have to many problems with handling exception of the Struts.
>what do you suggest to handling exception of the deployment applications?
>
>--
>To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to