浏览 2710 次
锁定老帖子 主题:Struts自定义异常处理机制(重点)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-12
最后修改:2009-02-13
自动异常处理机制
手动异常和自动异常的区别: 即在Action中不捕捉异常,而是将异常抛出给struts框架处理 我们需要在配置文件中指示struts如何处理这些被抛出的异常 使用<exception/>元素来定义自动异常处理 原理: a.自定义一个异常类:ErrorCodeException继承RunTimeException,该类含有属性错误码和占位符,构造方法可以接收错误码,和占位符 b.自定义一个异常处理类:ErrorCodeExceptionHandler继承自ExceptionHandler, c.负责登录的Action不进行捕捉异常,而是继续晚上抛,由框架中的ExceptionHandler及其子类来处理异常,具体要要看Struts-config.xml文件中配置而定,在以下的配置中,则由ErrorCodeExceptionHandler复写了ExceptionHandler中的方法execute(),则由ErrorCodeExceptionHandler来处理异常: 例如:<!-- 全局exception --> <global-exceptions> <exception key="error.exception" type="com.wlh.exception.ErrorCodeException" handler="com.wlh.exception.handler.ErrorCodeExceptionHandler"/> </global-exceptions> d、ErrorCodeExceptionHandler的execute方法中从ErrorCodeException对象中得到错误码和占位符的填充值,然后就可以将异常信息添加到Globals.EXCEPTION_KEY e.最后和手动异常处理一样,可以通过html:messages和html:errors得到错误和成功信息 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |