thanks a ton.
now, i need to spend some hours doing some arrangements in my code but
anyway that's for my good  ;-)

-navjot singh
----- Original Message -----
From: "Andrew Hill" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Thursday, April 03, 2003 5:02 PM
Subject: RE: Where to catch/throw Exceptions in Struts Tiered Architecture


| Generally, returning null when it should be an error is considered bad
| practice. (If null is a valid return value of course thats a different
| matter).
| In this case you should throw an exception and catch it in the calling
class
| and branch or throw again appropriately.
| You dont want your calling class to have to know about low level details
| like specific sql exceptions though, so instead of just letting the sql
| exception propogate upwards, you would catch it and throw a different more
| abstract exception (probably one you create yourself) up to the caller -
the
| caller shouldnt have to know the details about your persistence
mechanism -
| it just needs to know it failed - and sometimes needs to know if the
failure
| is fatal and any other pertinent info.
| The nested excpetion classes should also be able to keep a reference to
the
| exception they wrap so the stacktrace show all the exceptions in the
chain -
| useful when debugging.
|
| btw: If I recall rightly Ted Husted explains this 10 times better in one
| tenth the words in his book (struts in action)
|
| Have a look at these articles:
|
http://developer.java.sun.com/developer/technicalArticles/Programming/except
| ions/
| http://www-106.ibm.com/developerworks/java/library/j-ejb01283.html
| http://www.javaworld.com/javatips/jw-javatip91_p.html
|
| There was another very good one too - but it doesnt seem to be in my
| favourites list and I cant seem to find it now.
|
|
| -----Original Message-----
| From: Navjot Singh [mailto:[EMAIL PROTECTED]
| Sent: Thursday, 3 April 2003 18:53
| To: Struts Users Mailing List; [EMAIL PROTECTED]
| Subject: Re: Where to catch/throw Exceptions in Struts Tiered
| Architecture
|
|
| hi andrew,
|
| but surely these long stacktraces are not meant for users ;-)
|
| what i have got from your statement is something like this
|
| SQLException
| |__DatabaseException
| |____ApplicationException
|
| finally, this ApplicationException is what is being thrown into execute()
| call.
|
| May i am novice, but I still need to be convinced about throwing so many
| exceptions in chain
|
| Can't the stuff be handled in a simple way --
| SAY
| a. when you get SQLException, catch and return NULL
| b. Calling Class __ifs__ for NULL instead of __catching__ and transfer the
| control accordingly.
|
| Is there something i am ignoring?
|
| regards
| Navjot Singh
|
| ----- Original Message -----
| From: "Andrew Hill" <[EMAIL PROTECTED]>
| To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
| Sent: Thursday, April 03, 2003 3:49 PM
| Subject: RE: Where to catch/throw Exceptions in Struts Tiered Architecture
|
|
| | I use nested exceptions, and virtually all my methods (and thus layers)
| | catch and wrap and throw...
| | Makes for some impressively long stacktraces - and is marvellous for
| | debugging! :-)
| |
| |
| | -----Original Message-----
| | From: Navjot Singh [mailto:[EMAIL PROTECTED]
| | Sent: Thursday, 3 April 2003 18:05
| | To: Struts Users List
| | Subject: Where to catch/throw Exceptions in Struts Tiered Architecture
| |
| |
| | Hi,
| |
| | Take a simple case.
| |
| |    Action
| |       Y
| | UserAction -> User -> Database
| |       |
| |      V
| |   user.jsp
| |
| | Say, Database throws exception. What is best way to handle exception?
| |
| | 1. Catch in User class and return NULL / some ErrorObject to UserAction
| and
| | let UserAction decide how to handle it?
| |
| | 2. Let User class __pass on__ the Exception from Database to UserAction.
| |
| | 2a. As execute() is already throwing Exception so it will handle ALL so
| Set
| | <global-exception> handler that can send the user to some nice page?
| | 2b. Catch Exception in UserAction and then do some thing ...
| |
| | Which one do you guys follow in not-so-large scale web applications?
| |
| | would appreciate any comments.
| | -navjot singh
| |
| |
| |
| |
| | ---------------------------------------------------------------------
| | To unsubscribe, e-mail: [EMAIL PROTECTED]
| | For additional commands, e-mail: [EMAIL PROTECTED]
| |
| |
| | ---------------------------------------------------------------------
| | To unsubscribe, e-mail: [EMAIL PROTECTED]
| | For additional commands, e-mail: [EMAIL PROTECTED]
| |
| |
|
|
| ---------------------------------------------------------------------
| To unsubscribe, e-mail: [EMAIL PROTECTED]
| For additional commands, e-mail: [EMAIL PROTECTED]
|
|
| ---------------------------------------------------------------------
| To unsubscribe, e-mail: [EMAIL PROTECTED]
| For additional commands, e-mail: [EMAIL PROTECTED]
|
|


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

Reply via email to