首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java错误处理不解之处

2012-11-01 
Java异常处理不解之处现有下面两段异常处理的方式?1:class A{public void funcOfA() throws Exception{try

Java异常处理不解之处

现有下面两段异常处理的方式

?

1:

class A{    public void funcOfA() throws Exception{           try{               /* 此方法可能抛出异常ExceptionTypeB,                * ExceptionTypeC,ExceptionTypeD等等                */                 funcTest();           }catch(ExceptionTypeB eb){                 //忽略ExceptionTypeB异常不作处理                      }catch(Exception e){                 //对于非ExceptionTypeB异常进行抛出处理                 throw e;           }    }}class B{    public void funcOfB(){         A a = new A();         try{              a.funcOfA();         }catch(Exception e){              //此处的e异常是否是非ExceptionTypeB异常              //直接进行异常处理         }    }}

?2:

class A{    public void funcOfA() throws Exception{         /* 此方法可能抛出异常ExceptionTypeB,          * ExceptionTypeC,ExceptionTypeD等等          */          funcTest();    }}class B{    public void funcOfB(){         A a = new A();         try{              a.funcOfA();         }catch (ExceptionTypeBe b){               //忽略ExceptionTypeB异常,不进行处理         }catch(Exception e){              //直接进行异常处理         }    }}

?

比较1和2两种异常处理模式,发现结果差异很大。

?其中方式2得到的结果是想要的结果。

?方式1结果有问题。

?

哪位大侠能解惑。不胜感激!!!

热点排行