qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          Java異常機(jī)制

            Java異常(Exception)又稱例外,是一種運(yùn)行時(shí)錯(cuò)誤。Java異常機(jī)制就是對(duì)于Java異常的處理方法,使用Java異常機(jī)制能提升程序的容錯(cuò)性,從而使程序更加健壯與安全。

             java異常種類很多,常用的異常包括:算術(shù)異常類(ArithmeticException),空指針異常類 (NullPointerException),輸入輸出異常類(IOException),數(shù)組下標(biāo)越界異常類 (ArrayIndexOutOfBoundsException)、類型轉(zhuǎn)換異常類(ClassCastException)等。

            Java中常有如下三種異常處理方法:

            1、使用try-catch-finally語(yǔ)句。try語(yǔ)句塊放置可能發(fā)生異常的代碼,catch語(yǔ)句塊捕獲這些代碼產(chǎn)生的異常,finally語(yǔ)句塊無(wú)論程序是否有異常發(fā)生,都會(huì)執(zhí)行。

            2、使用throws關(guān)鍵字拋出異常。若某個(gè)方法可能發(fā)生異常,但不想在當(dāng)前方法中處理這個(gè)異常,那就可以利用throws關(guān)鍵字在該方法拋出異常,然后在調(diào)用該方法的代碼中捕獲該異常進(jìn)行處理。

            3、自定義異常類與throw關(guān)鍵字。

            關(guān)于自定義異常類的使用,分為如下幾個(gè)步驟:

            1)創(chuàng)建自定義異常類,利用繼承思想

            2)在方法中通過(guò)throw關(guān)鍵字拋出異常對(duì)象

            3)若在當(dāng)前拋出異常的方法中處理,使用第一種方法,否則使用第二種方法

            第一種異常處理方法測(cè)試代碼如下:

          /**
           *利用try-catch-finally語(yǔ)句塊進(jìn)行異常處理
           */
          public class ExceptionTest {
           public static void main(String[] args) {
            try {
              int iNum = 5 / 0;
              System.out.println(iNum);
            } catch (Exception e) {
              e.printStackTrace();//指出異常的類型、性質(zhì)、棧層次及出現(xiàn)程序中的位置
            } finally {
              System.out.println("第一種異常處理方法測(cè)試");
            }
           }
          }

            運(yùn)行結(jié)果如下所示:

            第二種異常處理方法測(cè)試代碼如下:

          /**
           *利用關(guān)鍵字throws進(jìn)行異常處理
           */
          public class ExceptionTest1 {
           public static int divide(int iNum1, int iNum2) throws ArithmeticException {
             return iNum1 / iNum2;
           }
           public static void main(String[] args) {
            try {
              int iNum = divide(5,0);
              System.out.println(iNum);
            } catch (ArithmeticException e) {
              e.printStackTrace();//指出異常的類型、性質(zhì)、棧層次及出現(xiàn)程序中的位置
            }
           }
          }

            運(yùn)行結(jié)果如下所示:

          posted on 2012-08-28 09:48 順其自然EVO 閱讀(211) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 麻江县| 凤山县| 营口市| 赣榆县| 泸溪县| 车致| 临西县| 西和县| 甘南县| 江川县| 阿克陶县| 东台市| 桐庐县| 三穗县| 黔西县| 阳高县| 玉树县| 酒泉市| 察雅县| 蓬莱市| 绥棱县| 金塔县| 丹江口市| 宁阳县| 峡江县| 虹口区| 凤冈县| 乐昌市| 迁西县| 陆川县| 唐山市| 普兰店市| 大姚县| 德惠市| 武宣县| 长白| 齐河县| 九寨沟县| 介休市| 鄂托克前旗| 磐安县|