點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程章節(jié)匯總
點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程第七章匯總
7.2 異常的類型
異�?偸菢�(biāo)準(zhǔn)類Throwable子類的對(duì)象。除了由于代碼中的錯(cuò)誤引發(fā)的標(biāo)準(zhǔn)異常外,你還可以自己定義和拋出異常;也可以在同一個(gè)或另外一個(gè)標(biāo)準(zhǔn)包中由方法拋出異常。
所有的標(biāo)準(zhǔn)異常都包含在Throwable類的兩個(gè)直接子類Error和Exception中。這兩個(gè)類本身又有子類,它們用來(lái)標(biāo)識(shí)特定的異常狀況。
Error異常
由Error類和它的子類定義的異常描述了不希望出現(xiàn)的所有情況,因此,你并不期望捕獲到它們。Error-類有三個(gè)直接的子類-ThreadDeath. LinkageError和VirtualMachineError其中第一個(gè)聽起來(lái)是最嚴(yán)重的,但實(shí)際上并非如此。當(dāng)正在執(zhí)行的線程被意外地停止時(shí),就會(huì)拋出ThrowDeath異常,要使線程被適當(dāng)?shù)爻废�,你就不�?yīng)該捕獲到這個(gè)異常�?赡軙�(huì)出現(xiàn)這種情況,你想要取消若干個(gè)操作,此時(shí),你就必須確保重新拋出允許線程死亡的異常。當(dāng)ThreadDeath異常被拋出,而沒有被捕獲時(shí),它是結(jié)束的線程,而不是程序。我們將在第11章中詳細(xì)地介紹有關(guān)線程的概念。
LinkageError異常類還有子類,它們以類的形式記錄了程序中的嚴(yán)重錯(cuò)誤,類或試圖創(chuàng)建一個(gè)不存在的類對(duì)象之間的區(qū)別在于引發(fā)拋出異常的類別不同。VirtualMachineError類有4個(gè)子類,它們指明當(dāng)Java虛擬機(jī)出現(xiàn)災(zāi)難性故障時(shí)要拋出異常。你并沒有被禁止處理這些異常,然而,通常捕獲它們的意義不大。對(duì)應(yīng)LinkageError和VirtualMachineError的派生類對(duì)象都是災(zāi)難性事件或狀態(tài)造成的結(jié)果。在程序執(zhí)行期間,恢復(fù)它們意義不大或毫無(wú)意義。在這些情形下,你通常能做的只是讀取由異常產(chǎn)生的錯(cuò)誤信息,然后特別是在LinkageError異常出現(xiàn)時(shí),試著找出引發(fā)拋出異常的代碼錯(cuò)誤。
相關(guān)推薦:
2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |