I want to implement an application specific exception handling for my struts 
application. So, I defined my own Exception class that extends a "normal" 
Exception by an error code and the filename where the exception occured:

public class MyException extends Exception 
{
        private int errorCode = -1;
        private String file = null;
        
        public MyException() { super(); }
        public MyException (String message, int errorCode, String file)
        {
                super(message);
                this.errorCode = errorCode;
                this.file = file;
        }
  
        public int getErrorCode () { return errorCode; }
        public void setErrorCode (int errorCode) { this.errorCode = errorCode; }
        public String getFile () { return file; }
        public void setFile (String file) { this.file = file; }
}

I've also created my own ExceptionHandler class:

public class MyExceptionHandler extends ExceptionHandler 
{

  public ActionForward execute (Exception ex, ExceptionConfig config,   
                               ActionMapping mapping, ActionForm formInstance, 
                                HttpServletRequest request, 
                                HttpServletResponse response)
  throws ServletException 
 {
        ...
  }
}

In struts-config.xml I've configured this exception handler as a 
<global-exception> that should handle ALL excetions:

<global-exceptions>
    <exception handler="de.fortu.actions.MyExceptionHandler"
                           type="java.lang.Exception"
                           key="global.error"
                           path="/jsp/error/error.jsp"
                           scope="request" />
</global-exceptions>

Now I generate a NullPointerException and throw my exception 
object:

        try
        {
                String str = null;
                str.charAt(0);
        }
        catch (Exception e)
        {
                throw new MyException ("Test", 100, "MyAction"); 
        }

What I see is that I run through MyExceptionHandler class, i.e. the 
<global-exception> definition seems to work. 

What I do NOT see is MyException class. When I stop in MyExceptionHandler and 
inspect the Exception object I do not find the values I set in the catch 
block before. The detailMessage says:

Error calling form action handler: metrics_onDrilldown reason: null

Any ideas what's going wrong here?

Best regards,
Ralf.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to