请教程序输出问题。谢谢
类ExampleA继承 Exception,类 ExampleB 继承 ExampleA;
  有如下代码片段:
try{
throw new ExampleB("b");
}catch(ExampleA e){
System.out.println("ExampleA");
}catch(Exception e){
Sytem.out.println("Exception")
}
输出结果是ExceptionA   为什么?大家看看

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【lee125543】截止到2008-07-24 21:56:37的历史汇总数据(不包括此帖):
    发帖的总数量:10                       发帖的总分数:340                      每贴平均分数:34                       
    回帖的总数量:7                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:8                        结贴的总分数:200                      
    无满意结贴数:3                        无满意结贴分:60                       
    未结的帖子数:2                        未结的总分数:140                      
    结贴的百分比:80.00 %               结分的百分比:58.82 %                  
    无满意结贴率:37.50 %               无满意结分率:30.00 %                  
    楼主加油
      

  2.   

    try catch如果外面有很多catch的话,他回一个一个的按照顺序进行匹配,如果你抛出的异常类型是某个要捕获的异常的子类或者本身的话,那么就执行这个分支。
    例如这里ExampleB 是ExampleA的子类,可以匹配,按照顺序来,就该执行这个分支。虽然Exception也可以匹配ExampleB,但是由于是按照顺序来的,前面执行了分支,后面就不执行了。
      

  3.   

    catch(ExampleA e){
    System.out.println("ExampleA");
    }
    这个最先匹配,所以输出ExampleA
    不知道ExceptionA什么意思
      

  4.   

    try{ 
    throw new ExampleB("b"); //由于异常产生
    }catch(ExampleA e){ 
    System.out.println("ExampleA"); //马上捕捉异常处理
    }