1,采用编程式(手工的异常处理),当捕获到异常的时候转到异常处理页面(要利用国际化资源文件)
代码(eg):
然后在那个异常处理的一面采用<html:errors />标签取出异常信息
2,采用统一的异常处理(将异常抛出)(struts的异常处理框架)
eg:
public ActionForward del(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {}
在配置文件中配置exception标签
<global-exceptions>
<exception
path="/common/exception.jsp"
handler="com.bjsxt.oa.web.SystemExceptionHandler"
scope="request"
key="errors.detail"
type="java.lang.Exception">
</exception>
</global-exceptions>
其中handler表示处理异常的类
过程:
1,继承RuntimeException
2,实现父类的所有构造器
3,写一个handler类,继承ExceptionHander
4,覆写execute方法
5,要在国际化资源文件中加入key的值
抛出异常的句子为:
//其中errors.org.hassuborg是key,要和国际化资源文件中的key一致。
throw new SystemException("errors.org.hassuborg",new Object[]{org.getName(),org.getChildren().size()},"存在子机构信息,不允许删除");
在国际化文件中配置的属性为:
errors.org.hassuborg=Org[{0}] has {1} sub orgs
异常类的代码:
异常处理类的代码: