I must be misunderstanding something, is that not what I am already doing my
chaining to another action?



Andy Hahn wrote:
> 
> 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
> 

-- 
View this message in context: 
http://www.nabble.com/exception-handling-tp21518870p21541248.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

Reply via email to