9.3. Using Exception Error Codes
Problem
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.
Solution
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; ...
Get Jakarta Struts Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.