struts异常机制




    异常分为2种,一种为unChecked类型,另一类是checked类型。checked异常是指程序员必须写代码捕获处理的异常、而unChecked异常程序员则可以不捕获,最后由jvm统一处理的异常。假设当你遇到checked异常、而你又不想处理时,可以将其转换为unChecked异常。所以异常也是可以转变的。unchecked异常包括所有的runtionexception。当然我们可以通过自定义异常。如果要定要unChecked异常,可以继承runtionexception。而checked异常,可以继承Exception类。
    特别注意的是checked异常,子类不能抛出比父类更多的checked异常。unChecked异常则可以随意抛出。
    struts提供了2种异常的处理方法。以代码为例说明

    首先定义异常类如CalculateException extends RuntimeException
方法1.
    1-1.在Action里面抛出异常throw new CalculateException();
    1-2.配置struts-config.xml文件,添加<exception key="calerror"type="com.sunbin.calculate.CalculateException"path="/error.jsp"/>
    1-3.在国际化文件中添加配置。calerror=请正确操作
注:key=" calerror"必须和国际化配置文件的“ calerror=请正确操作”相同,否则无法正确显示错误提示。
     1-4.jsp错误页面显示。使用struts的html标签显示。<html:errors/>
注:action可以抛出checked exception,不受servlet限制
最后显示的结果是: 请正确操作



方法2.
    2-1.在Action里面抛出异常throw new CalculateException();
    2-2.在web.xml里面添加配置
<error-page>
  <exception-type>com.sunbin.calculate.CalculateException</exception-type>
  <location>/error.jsp</location>
</error-page>
    2-3.sp错误页面。可以随意显示错误提示

两者的区别是前者针对国际化处理较好。后者比较简单。

你可能感兴趣的:(jvm,jsp,xml,struts,servlet)