February 2005
Intermediate to advanced
528 pages
12h 53m
English
You want to use an exception class that accepts a logical error code or key and optional arguments that can be used to display a localized error message.
Use or extend my
ErrorCodeException,
shown in Example 9-6.
Example 9-6. Exception that accepts a numeric error code
package com.oreilly.strutsckbk.ch09;
public class ErrorCodeException extends Exception {
public ErrorCodeException(int code) {
this.code = code;
}
public ErrorCodeException(int code, Object[] args) {
this.code = code;
this.args = args;
}
public ErrorCodeException(int code, Object[] args, String msg) {
super(msg);
this.code = code;
this.args = args;
}
public ErrorCodeException(int code, Object[] args, String msg,
Throwable cause) {
super(msg, cause);
this.code = code;
this.args = args;
}
public int getCode( ) {
return code;
}
public Object[] getArgs( ) {
return args;
}
private Object[] args;
private int code;
}Use my
ErrorCodeExceptionHandler,
shown in Example 9-7, to handle these exception
types.
Example 9-7. Exception handler for the ErrorCodeException
package com.oreilly.strutsckbk.ch09; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.Globals; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ExceptionHandler; ...