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