这个异常处理的框架由四个部分组成:
异常类型(Java代码实现)—— 所有的ClearWork异常都来自基类 net.sf.clearwork.core.exception.BaseCheckedException 和 net.sf.clearwork.core.exception.BaseUnCheckedException ,这两个异常基类分别继承自 org.springframework.core.NestedCheckedException 和 org.springframework.core.NestedRuntimeException ,确定了异常的受检和非受检属性。
再上一层次,将异常划分为:业务逻辑层异常、数据操作层异常、应用框架异常、操作系统异常、用户界面异常。
ClearWork建议用户抛出异常时参考上述异常划分,根据自己的需要选择使用,这应该能解决绝大多数的异常情景。 同时,建议用户在定义自己的异常时,根据受检和非受检的需要, 继承BaseCheckedException或BaseUnCheckedException。
异常描述(Spring配置文件)——位于
classpath*:config/exception.xml
, 利用Spring配置机制注册了异常的基类,及一些常见的应用程序异常,这些异常大部分来自Spring
Framework,因为ClearWork的很多部分依赖于Spring。 同时,
ClearWork建议用户将自己定义的异常按照这种方式在exception.xml中进行配置注册,以便异常处理框架进行管理。
在
exception.xml
中,也定义了异常信息的国际化资源文件位置。
异常信息(国际化资源)——位于
classpath*:i18n
,默认的国际化资源是中文。 可以在
exception_cn.txt
中编写您的异常信息, 然后利用
make_exception.bat
(需要配置Java_Home/bin Path系统环境变量)将其转换为UTF-8编码的
exception_cn.properties
文件。
异常展现(web层的controller以及view)——包括在
struts.xml
中的全局异常控制器配置及在Web Application全局目录
global
中的
error.jsp
,它们被用来处理UI层异常导向和面向浏览器用户展现的逻辑。您可以通过修改
error.jsp
切换
alert exception
和
alert exception and back
策略。