tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rhino" <rhi...@sympatico.ca>
Subject Re: How is catch{} code handled
Date Fri, 02 Jan 2004 19:20:45 GMT
I haven't got a clue what your problem is. Your explanation is entirely
verbal and would really benefit from code snippets to make it clearer. I
just can't get a clear mental picture of what you did with your code.

I can't presume to speak for anyone else but I wouldn't be surprised if
others felt the same way.

Rhino

----- Original Message ----- 
From: "Merrill Cornish" <merrill.cornish@earthlink.net>
To: "Tomcat Users List" <tomcat-user@jakarta.apache.org>
Sent: Friday, January 02, 2004 2:05 PM
Subject: How is catch{} code handled


> My sudden IllegalStateException problem turned out to be caused by my
> error handling technique, but I'm not sure why.
>
> When I started this project (as a way or learning JSP), I have
> EVERYTHING in JSP pages, meaning that there was a lot of Java code in <%
> ... %> sections of the JSP page.  I added an errorPage declaration to
> each of my JSP pages to divert all errors to my standard error handling
> page--and all was well.
>
> Later, I decided to limit the JSP pages to HTML as much as possible and
> move all of the Java program logic into servlets.  I left the errorPage
> declarations in the JSP pages, although there wasn't much left there to
> throw an exception.
>
> In the servlets, I used the standard try/catch constructs to intercept
> exceptions.  However, I decided I wanted the exceptions caught in
> servlets to be handled by the same error page as the JSP pages used.
> Rather than have EVERY catch{} clause do the redirect, I defined a
> utility subroutine named errorPage() that collected various information
> in the catch{} clause, then called sendRedirect() to the error page.
>
> Separate from these catch{} clauses, whenever the processing in a
> servlet was complete, it ended with a sendRedirect() to the next JSP
> page followed immediately by a return. I had assumed that the
> sendRedirect()s in the main servlet code were "safe" from the
> sendRedirect() in the catch{} cause since--as I understood it--once the
> exception was thrown and the catch{} entered, nothing else in the
> servlet was processed.
>
> However, my "IllegalStateException" experience suggests there is
> something going on with catch{} that I don't understand.  Or, as a
> friend of mine used to say, "I don't understand all I know about that."
:-)
>
> To recap, I got an IllegalStateExceptioni pointing to a sendRedirect()
> in a servlet until I effectively removed the sendRedirect() by returning
> before the sendRedirect() could be reached.  Only then did I see an
> SQLException  intercepted by a catch{} and redirected with
> sendRedirect() to the error page.
>
> Why did main servlet processing appear to continue (allowing the second
> sendRedirect() to cause a problem) after the exception was triggered?
>
> Merrill Cornish
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message