風之力

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            19 Posts :: 2 Stories :: 18 Comments :: 0 Trackbacks
          一個try塊可以不執行finally子句就能夠退出的唯一方法是通過調用System.exit()方法來實現的。

          如果控制因為一個return,continue或break語句離開這個try塊,那么finally快會在控制轉移到它的新的目標代碼之前執行.

          也就是說如果在finally塊中使用return,continue或break。邏輯可能就不是你本身要表達的意思了。
          package?test;

          public?class?TryTest?{
          ????public?static?void?main(String[]?args)?{
          ????????try?{
          ????????????System.out.println(TryTest.test());//?返回結果為true其沒有任何異常
          ????????}?catch?(Exception?e)?{
          ????????????System.out.println("Exception?from?main");
          ????????????e.printStackTrace();
          ????????}
          ????}

          ????public?static?boolean?test()?throws?Exception?{
          ????????try?{
          ????????????throw?new?Exception("Something?error");//?1.拋出異常
          ????????}?catch?(Exception?e)?{//?2.捕獲的異常匹配(聲明類或其父類),進入控制塊
          ????????????System.out.println("Exception?from?e");//?3.打印
          ????????????return?false;//?4.?return前控制轉移到finally塊,執行完后再返回
          ????????}?finally?{
          ????????????return?true;?//?5.?控制轉移,直接返回,吃掉了異常
          ????????}
          ????}
          }
          posted on 2007-07-27 20:04 風之力 閱讀(890) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乐至县| 桃园市| 上饶县| 遵义县| 琼结县| 汾西县| 自治县| 原平市| 宜城市| 化州市| 武功县| 永昌县| 包头市| 塘沽区| 娱乐| 肃北| 江孜县| 洪江市| 宜川县| 凭祥市| 巩义市| 大连市| 兴义市| 巴东县| 哈尔滨市| 城步| 微山县| 三都| 东平县| 唐山市| 枣庄市| 清原| 汝城县| 馆陶县| 安吉县| 桃江县| 永昌县| 苗栗县| 务川| 娱乐| 佛教|