You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/04/17 18:21:14 UTC

DO NOT REPLY [Bug 19114] New: - RequestDispatcherImpl does not set root cause exception

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19114>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19114

RequestDispatcherImpl does not set root cause exception

           Summary: RequestDispatcherImpl does not set root cause exception
           Product: Tomcat 3
           Version: 3.2.1 Final
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Servlet
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: jarekk@axit.pl


When a forwarded servlet throws an exception other than ServletException or 
IOException, the thrown exception is lost. This is due to the line:

throw new ServletException(sm.getString("dispatcher.forwardException", t));
(found in org/apache/tomcat/facade/RequestDispatcherImpl.java:210)

the earlier catched t is here not passed into the constructor of 
ServletException but into getString.

To reproduce construct a servlet that throws an Exception (other than 
ServletException and IOException) and another servlet that forwards to it. You 
will get just a forwardException (if you have the proper locale strings 
installed!) but the originally thrown exception will get lost forever.

We use a local patch that replaces the above line with:

Tomcat 3.2.3 does NOT fix this problem

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