第 3 章 ClearWork异常处理框架

这个异常处理的框架由四个部分组成:

  1. 异常类型(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。

  2. 异常描述(Spring配置文件)——位于 classpath*:config/exception.xml , 利用Spring配置机制注册了异常的基类,及一些常见的应用程序异常,这些异常大部分来自Spring Framework,因为ClearWork的很多部分依赖于Spring。 同时, ClearWork建议用户将自己定义的异常按照这种方式在exception.xml中进行配置注册,以便异常处理框架进行管理。 exception.xml 中,也定义了异常信息的国际化资源文件位置。

  3. 异常信息(国际化资源)——位于 classpath*:i18n ,默认的国际化资源是中文。 可以在 exception_cn.txt 中编写您的异常信息, 然后利用 make_exception.bat (需要配置Java_Home/bin Path系统环境变量)将其转换为UTF-8编码的 exception_cn.properties 文件。

  4. 异常展现(web层的controller以及view)——包括在 struts.xml 中的全局异常控制器配置及在Web Application全局目录 global 中的 error.jsp ,它们被用来处理UI层异常导向和面向浏览器用户展现的逻辑。您可以通过修改 error.jsp 切换 alert exceptionalert exception and back 策略。