Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » Tomcat Users »

RE: How is catch{} code handled

George Sexton

2004-01-02

Replies:

If you are really wedded to this architecture (and it's not really that
bad) then a good approach could be something like:

Public class myServlet extends HttpServlet {
doGet(HttpServletRequest req, HttpServletResponse res) {

 try {
   // All servlet code happens between this try catch pair.
   //
   // Beginning of servlet
   MyClass.invokeSubRoutine();

   // End of Servlet
 } catch (ProcessingInterruptedException PIE){
   return;
 } finally {
 }

}
}

Public class MyClass {

public static int invokeSubRoutine()
throws ProcessingInterruptedException {
 ProcessingInterruptedException pieThrow=null;


 try {
   // Some JDBC Code
 } catch (SQLException se) {
   // Log it
   // Send Redirect
   pieThrow=new ProcessingInterruptedException();
   // Alternatively
   throw new ProcessingInterruptedException();
 }

 if (pieThrow!=null){
   throw pieThrow;
 }
 return retVal;
 }

}

This code is somewhat cleaner because it forces the caller to handle the
exception. In general, the idea behind exceptions is that nobody checks
return codes so let's use the compiler to force them to catch an error.

George Sexton
MH Software, Inc.
Home of Connect Daily Web Calendar Software
http://www.mhsoftware.com/connectdaily.htm
Voice: 303 438 9585

-----Original Message-----
From: Merrill Cornish [mailto:merrill.cornish@(protected)]
Sent: Friday, January 02, 2004 1:00 PM
To: Tomcat Users List
Subject: Re: How is catch{} code handled


George,

>Unfortunately, your logic is flawed.
>
>
Yes, that's very clear at this point. :-)

I understand that the sendRedirect() does NOT terminate the execution
flow that it is in. That's why I follow each one with a return.
However, I think I now recognize my problem.

In my mind, I've always associated a catch{} with an exception and
nothing "escapes" from the exception. And that's true, assuming you did

NOT do what I did and disolve the exception into a simple message that
displayed as text on a JSP page. As I now see, in THAT case, the
catch{} DOES return, thereby allowing multiple sendRedirect()s to
occurs.

Thank you for setting my thinking straight.

Merrill

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@(protected)
For additional commands, e-mail: tomcat-user-help@(protected)


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@(protected)
For additional commands, e-mail: tomcat-user-help@(protected)



©2008 junlu.com - Jax Systems, LLC, U.S.A.