I have a web application that uses a proxy class to exchange information
with an external system. When this proxy class throws an exception, it
always appears as a cause in some other exception, typically
javax.el.ELException.
I have built a custom error page to handle an exception where the proxy
exception is in the cause chain and I have updated my web.xml so that my
custom error page gets control.
<error-page>
<exception-type>
javax.el.ELException
</exception-type>
<location>
/ViewPOCManagerProxyException.jsp
</location>
</error-page>
Everything works fine when the proxy exception is in the cause chain, but I
don't want to handle all the cases were the javax.el.ELException is caused
by something else! Instead, I want to forward those cases to the existing
Tomcat HTTP 500 error report page.
Imagine my surprise when I discovered that the default HTTP 500 error report
page is implemented as a Tomcat valve, not a servlet or JavaServer page that
I can easily forward to.
I can't be the only person in the world who wants to do something like
this. I surely don't want to implement a valve to handle my proxy
exceptions. Is there some way to forward an exception to the default HTTP
500 error page? Is there a better alternative to handle common exceptions
with a specific cause?
Lance