Regarding the OP - I tried your code and it worked for me so not sure why your 
not seeing the exception stack.

Regarding to the first responder - you could take this a step further and have 
ActionUnhandledExceptionHandler redirect to another action (Redirect After 
Post)‏.




> Date: Sun, 18 Jan 2009 06:24:24 -0800
> From: ga...@prodia.co.uk
> To: user@struts.apache.org
> Subject: Re: exception handling
> 
> 
> I know this is slightly different from the way you are trying it but this is
> the way I am currently doing it is:
> 
> <global-exception-mappings>
>         <exception-mapping exception="java.lang.Exception"
> result="unhandledExceptionHandler"/>
> </global-exception-mappings>
> 
> 
> <global-results>
>         <result name="unhandledExceptionHandler" type="chain">
>                  <param
> name="actionName">actionUnhandledExceptionHandler</param>
>                  <param name="namespace">/unsecured</param>
>         </result>
> <global-results>
> 
> 
> and then I define an action - actionUnhandledExceptionHandler:
> 
> public class ActionUnhandledExceptionHandler extends BaseActionSupport {
> 
> private Exception exception;
> 
> @Override()
>     public String execute() {
> 
>         if(exception != null){
>             logException(serviceProsocUser , exception);
> 
>             // Send the user to the error page with a message
>             addActionError(getText("common.unknown.exception") + "<div
> class=\"errorMessageExceptionText\">" + exception.toString() + "</div>");
> 
>             return ERROR;
>             
>         } else {
>             logger.error("***** TRIED TO LOG EXCEPTION BUT EXCEPTION WAS
> NULL! I HAVE NOT LOGGED THIS EXCEPTION! *****");
>         }
> 
>        
> addActionError(getText("actionUnhandledExceptionHandler.could.not.log.exception"));
>         return "canNotLogDatabaseError";
>     }
> 
> public void setException(Exception exception) {
>         this.exception = exception;
>     }
> }
> 
> 
> The logException method calls this to get the actual stacktrace:
> 
> public String exceptionStackTraceToString(Exception exception){
> 
>         StringWriter stringWriter = new StringWriter();
>         exception.printStackTrace(new PrintWriter(stringWriter));
>         String stackTrace = stringWriter.toString();
> 
>         // As stackTrace may contain regular expression special characters
> we need to make them harmless first
>         return Matcher.quoteReplacement(stackTrace);
>     }
> 
> I then, from within logException, write the exception to an email and the
> database but you can of course do what you like with it.
> 
> HTH
> 
> 
> 
> JJ__ wrote:
> > 
> > Hello,
> > I am trying to implement declarative exception handling for all the
> > possible exceptions. The problem is that in this way I only catch some
> > exceptions (not all of them) and I cant get its stack trace nor its
> > message(it is only rendered the rest of my JSP but not the information
> > about the stack or message about the excepion). I have this:
> > 
> > In my struts.xml
> >         <global-results>
> >             <result name="handleException"
> > type="redirect">error.jsp</result>
> >         </global-results>
> >         
> >         <global-exception-mappings>
> >             <exception-mapping result="handleException"
> > exception="java.lang.Exception"/>
> >         </global-exception-mappings>
> > 
> > And in my JSP
> >    <%@ taglib prefix="s" uri="/struts-tags" %>
> > ...
> >         <s:property value="%{exception.message}"/>
> >         <s:property value="%{exceptionStack}"/>
> > 
> > Thanks in advanced
> > 
> > 
> > 
> > 
> > 
> 
> -- 
> View this message in context: 
> http://www.nabble.com/exception-handling-tp21518870p21528352.html
> Sent from the Struts - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
> 

_________________________________________________________________
Windows Live™ Hotmail®: Chat. Store. Share. Do more with mail. 
http://windowslive.com/howitworks?ocid=TXT_TAGLM_WL_t1_hm_justgotbetter_howitworks_012009

Reply via email to