Jafe Lee

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            49 隨筆 :: 0 文章 :: 24 評(píng)論 :: 0 Trackbacks
          1、Java中的異常層次結(jié)構(gòu)簡化示意圖:
          exception.JPG
          說明:上圖只是簡化圖,并不表示Exception只有兩個(gè)子類IOException和RuntimeException

          2、Java語言規(guī)范將派生于RuntimeException類或Error類的所有異常稱為“未檢查(unchecked)”異常,其它檢查稱為“已檢查(checked)異常”
          • Error:描述了Java運(yùn)行時(shí)系統(tǒng)的內(nèi)部錯(cuò)誤和資源耗盡錯(cuò)誤,應(yīng)用程序不應(yīng)該拋出這種類型的對(duì)象。
          • RuntimeException : 由于你的程序錯(cuò)誤(例如錯(cuò)誤的類型轉(zhuǎn)換、數(shù)組越界訪問)等引起的異常
          • 不屬于RuntimeException的異常:曾經(jīng)能夠正確運(yùn)行而由于某些情況(例如,I/O錯(cuò)誤)而導(dǎo)致的異常
          3、If it is a RuntimeException, it was your fault.

          4、一個(gè)方法必須聲明所有可能拋出的checked 異常,而unchecked異常要么不可控制(Error),要么就應(yīng)該避免它們的發(fā)生(RuntiomException)。如果方法沒有聲明所有可能發(fā)生的checked異常,編譯器就會(huì)給出一個(gè)錯(cuò)誤信息。除了聲明異常之外也可以捕獲異常。這樣會(huì)使異常不被拋到方法之外,也不需要throws規(guī)范。

          5、如果在子類中覆蓋了超類的一個(gè)方法,那么,子類方法中聲明的checked異常不能超過超類方法中聲明的異常范圍,。特別是,如果超類方法沒有拋出任何checked異常,那么子類方法也不能拋出任何checked異常。

          6、如果類中的某個(gè)方法聲明要拋出的異常是某個(gè)類的實(shí)例,那么,它既可以拋出一個(gè)該類的異常,也可以拋出該類的任意一個(gè)子類的異常。

          7、try語句可以只有finally字句而沒有catch字句。當(dāng)拋出的異常必須要有另一個(gè)catch語句捕獲。

          posted on 2007-08-20 15:57 Jafe Lee 閱讀(226) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 天峨县| 仪陇县| 拉孜县| 京山县| 舒兰市| 咸宁市| 来安县| 溆浦县| 呼玛县| 内丘县| 合水县| 云阳县| 老河口市| 新乡县| 东港市| 叶城县| 西乡县| 林州市| 科尔| 明光市| 盈江县| 庆安县| 湘潭市| 花莲市| 西乌珠穆沁旗| 永年县| 德清县| 汤阴县| 孝昌县| 衡南县| 新津县| 府谷县| 德令哈市| 彰武县| 藁城市| 莫力| 乌什县| 麻江县| 嘉定区| 镶黄旗| 吴忠市|