隨筆-11  評(píng)論-10  文章-8  trackbacks-0
          用 catch 捕獲異常后程序會(huì)繼續(xù)執(zhí)行,如果一個(gè)異常被拋出至到被 catch 程序繼續(xù)執(zhí)行,
          或者被拋出 main,printTrace。程序繼續(xù)執(zhí)行的位置是異常被catch的地方。所有初看起來
          在catch后的語句和finally里的語句沒什么區(qū)別,在catch后都會(huì)執(zhí)行。這里要強(qiáng)調(diào)的是
          finally中的語句是一定會(huì)執(zhí)行的,在下面的幾種情況中finally的語句會(huì)執(zhí)行而catch后的
          語句不會(huì)執(zhí)行
          1.在catch中又拋出異常
          2.try,catch,finally在循環(huán)中,try塊中使用 coninue 或 break
          finally是在出現(xiàn)異常后必須要處理的事情,而catch后的語句是認(rèn)為程序已經(jīng)從錯(cuò)誤中恢復(fù),
          在正常狀態(tài)下繼續(xù)執(zhí)行。


          在一個(gè) try 塊之后可以后多個(gè) catch 塊,每塊捕獲不同的異常。當(dāng)一個(gè)異常被拋出后,安
          順序找到匹配的為止


          一個(gè)異常可以說明是誰引起了他(cause),可以用構(gòu)造函數(shù)或initCause(Throwable e)
          函數(shù)來說明。許多異常沒有帶 Throwable參數(shù)的構(gòu)造函數(shù),但 initCause 一定是可用的


          繼承于 RuntimeException 的異常是 unchecked,也就是說編譯器不會(huì)強(qiáng)制程序捕獲或向上
          拋出異常,這類異常不強(qiáng)制用戶處理,(當(dāng)然你依然可以捕獲這類異常,只要你愿意)。
          這類異常會(huì)一路闖過 main。


          復(fù)寫父類的方法時(shí),你只能拋出那些在父類方法中拋出的異常。這樣一來子類方法拋出的異
          常只能是父類方法拋出異常的子集。但這個(gè)約束對構(gòu)造函數(shù)是無效的。注意:派生類的構(gòu)造
          函數(shù)不能捕獲任何基類拋出的異常

          posted on 2005-08-24 01:15 JBahamut 閱讀(174) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 三门峡市| 山西省| 赤城县| 赤水市| 黄龙县| 金华市| 静宁县| 乌兰浩特市| 河西区| 兴义市| 都安| 通化市| 静宁县| 清河县| 开平市| 耒阳市| 遂宁市| 阳谷县| 宁强县| 美姑县| 普宁市| 浮梁县| 法库县| 卢龙县| 金秀| 南川市| 喀喇沁旗| 沂水县| 房山区| 济阳县| 甘泉县| 辽源市| 宜春市| 陕西省| 新巴尔虎右旗| 黎平县| 满城县| 曲沃县| 邵武市| 若尔盖县| 淳化县|