風之力

          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 風之力 閱讀(884) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 筠连县| 迁西县| 岚皋县| 泾川县| 富阳市| 永宁县| 台东市| 陇川县| 郁南县| 抚顺县| 汉阴县| 长垣县| 东城区| 易门县| 洞头县| 镇沅| 清丰县| 呼图壁县| 游戏| 安化县| 达孜县| 碌曲县| 绍兴县| 微山县| 杂多县| 浮山县| 正镶白旗| 卢氏县| 咸宁市| 安阳市| 蕲春县| 兴山县| 南陵县| 西峡县| 延津县| 平谷区| 巴中市| 苍山县| 阿合奇县| 赫章县| 扬州市|